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 以上版本