控件滾動方法:
加密原理:
密碼+問題+答案的md5 +“/”+加密后的串 組成一個文本文件,(二進制更好了)
解密原理:
先分離出文件里的 密碼+問題+答案的md5在與用戶輸入的密碼+問題+答案的md5對比
如果相符則 以此密碼解密文件
如果不相符則 提示密碼問題及答案錯誤
我使用DES加密,這是一個類
/// <summary>
/// 進行DES解密。
/// </summary>
/// <param name="pToDecrypt">要解密的以Base64</param>
/// <param name="sKey">密鑰,且必須為8位。</param>
/// <returns>已解密的字符串。</returns>
public static string DESDecrypt(string pToDecrypt, string sKey)
{
byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
cs.Close();
}
string str = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return str;
}
}
public static string MD5encrypt(string text, string method)
{
string strMD5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text, method);
return strMD5;
}
}
}
新聞熱點
疑難解答