时空CLR解密登陆密码源码

时间:2020-12-19 15:58:40
public static SqlString GetPwd(string code )
{
string txt = code;
if(string.IsNullOrEmpty(txt))
{
return "口令为空";
}
string[] keyA = new string[6] { "wa6j1c", "fblrk7", "mg9q0s", "vu3zth", "po4xy2", "ni5d8e" };
string[] keyB = new string[6] { "ke3wms", "jnx9i8", "dpqzl6", "vyg1bh", "7a4c2f", "u5rto0" };
string str , str1 , str2 ;
int x, y, p; for (x = 0; x < txt.Length; x++)
{
for (y = 1; y <= 6; y++)
{
string temp = txt.Substring(x, 1);
string temp2 = keyA[y - 1];
p = temp2.IndexOf(temp) + 1;
if (p > 0)
{
str1 = str1 + (y - 1).ToString();
str2 = (p - 1).ToString() + str2;
break;
} } } str = str1 + str2;
x = 0;
for (p = 1; p <= 3; p++)
{
x = x * 6 + Convert.ToInt32(str.Substring(p - 1, 1)); }
str = str.Substring(3, x);
if (str.Length % 2 == 1)
{
return "解码错误";
}
string restr ;
for (p = 1; p <= str.Length / 2; p++)
{
restr = restr + keyB[(int)Convert.ToChar(str.Substring(p - 1, 1)) - (int)Convert.ToChar("0")].Substring
((int)Convert.ToChar(str.Substring(str.Length - p, 1)) - (int)Convert.ToChar("0"),
1);
}
return new SqlString (restr);
}

时空CLR登陆密码解密源码   适用于SQL SERVER2005 以上版本