解密转义数据库连接串 - ToDbConnectionString

2017-05-05 15:27:11  访问(1565) 赞(0) 踩(0)



        /// <summary>
        /// 解密转义数据库连接串 - ToDbConnectionString
        /// </summary>
        /// <param name="strDbConnectionString">数据库连接串</param>
        /// <param name="strDBConnectionStringPwd">密文</param>
        /// <param name="strDBConnectionStringPwdEnKey">密钥</param>
        /// <param name="emDbConnStringEncryptV">加密方式</param>
        /// <param name="en">编码格式</param>
        /// <returns></returns>
        private string ToDbConnectionString
            (
                string strDbConnectionString, 
                string strDBConnectionStringPwd,
                string strDBConnectionStringPwdEnKey,                
                SlowX.DAL.Enums.DbConnStringEncrypt.EmDbConnStringEncrypt emDbConnStringEncryptV,
                System.Text.Encoding en 
            )
        {
            if (strDBConnectionStringPwd == null 
                || 
                strDBConnectionStringPwd.Length == 0)
            {
                // 没有设定密码 //
                return strDbConnectionString;
            }

            string convertPwd = null;


            switch (emDbConnStringEncryptV)
            {
                case SlowX.DAL.Enums.DbConnStringEncrypt.EmDbConnStringEncrypt.明文:
                    convertPwd = strDBConnectionStringPwd;
                    break;
                case SlowX.DAL.Enums.DbConnStringEncrypt.EmDbConnStringEncrypt.异或:

                    convertPwd = GetMD5(EnKey + strDBConnectionStringPwdEnKey, en);

                    convertPwd = XorDecryptToString
                        (
                            strDBConnectionStringPwd, 
                            convertPwd, 
                            en
                        );
                    break;
                case SlowX.DAL.Enums.DbConnStringEncrypt.EmDbConnStringEncrypt.DES3:
                    convertPwd = GetMD5(EnKey + strDBConnectionStringPwdEnKey, en).Substring(0, 16);

                    convertPwd = DES3Decrypt
                        (
                            convertPwd,
                            strDBConnectionStringPwd,
                            en
                        );
                    break;
                default:

                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "枚举("
                            + emDbConnStringEncryptV.GetType().FullName
                            + "."
                            + emDbConnStringEncryptV.ToString()
                            + ")未知,对应的代码尚未实现。"
                        );

            }

            return string.Format(strDbConnectionString, convertPwd);
        }
           


标签:解密转义数据库连接串 - ToDbConnectionString 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)