给你一个我曾经用过的加解密方法吧,存入前加密,读取后解密就好,代码不用改动,只需要调用就好
#region 密码加密
/// 根据密钥和需要加密的字符串2个参数加密
/// </summary>
/// <param name= "sKey "> 密钥 </param>
/// <param name= "theEncryptString "> 要加密的字符串 </param>
/// <returns> 已加密的字符串 </returns>
public string EncryptTheString(string sKey, string theEncryptString)
{
string sourceStr = theEncryptString;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray;
inputByteArray = Encoding.UTF8.GetBytes(sourceStr);
des.Key = UTF8Encoding.UTF8.GetBytes(sKey);
des.IV = UTF8Encoding.UTF8.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
sw.Write(sourceStr);
sw.Flush();
//cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
ms.Flush();
string re = (Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length));
return re;
}
#endregion
#region 解密
/// 根据参数(密钥)解密参数字符串
/// </summary>
/// <param name= "sKey "> 密钥 </param>
/// <param name= "toUnEncryptStr "> 要解密的字符串 </param>
/// <returns> 已解密的字符串 </returns>
public string UnEncryptTheString(string sKey, string toUnEncryptStr)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key = UTF8Encoding.UTF8.GetBytes(sKey);
des.IV = UTF8Encoding.UTF8.GetBytes(sKey);
Byte[] buffer = Convert.FromBase64String(toUnEncryptStr);
MemoryStream ms = new MemoryStream(buffer);
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
return sr.ReadToEnd();
}
#endregion
#region 密码加密
/// 根据密钥和需要加密的字符串2个参数加密
/// </summary>
/// <param name= "sKey "> 密钥 </param>
/// <param name= "theEncryptString "> 要加密的字符串 </param>
/// <returns> 已加密的字符串 </returns>
public string EncryptTheString(string sKey, string theEncryptString)
{
string sourceStr = theEncryptString;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray;
inputByteArray = Encoding.UTF8.GetBytes(sourceStr);
des.Key = UTF8Encoding.UTF8.GetBytes(sKey);
des.IV = UTF8Encoding.UTF8.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
sw.Write(sourceStr);
sw.Flush();
//cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
ms.Flush();
string re = (Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length));
return re;
}
#endregion
#region 解密
/// 根据参数(密钥)解密参数字符串
/// </summary>
/// <param name= "sKey "> 密钥 </param>
/// <param name= "toUnEncryptStr "> 要解密的字符串 </param>
/// <returns> 已解密的字符串 </returns>
public string UnEncryptTheString(string sKey, string toUnEncryptStr)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key = UTF8Encoding.UTF8.GetBytes(sKey);
des.IV = UTF8Encoding.UTF8.GetBytes(sKey);
Byte[] buffer = Convert.FromBase64String(toUnEncryptStr);
MemoryStream ms = new MemoryStream(buffer);
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
return sr.ReadToEnd();
}
#endregion