解密转义数据库连接串 - ToDbConnectionString
2017-05-05 15:27:11 访问(1573) 赞(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 


上一条:
下一条:
相关评论
发表评论