上篇写了邮件的发送 需要激活用户
那么需要对用户的信息进行加密,点击激活得进行解密字符串
下面是加密和解密的方法
static string encryptKey = "project_"; //定义密钥
/// <summary> /// 加密字符串
/// </summary>
/// <param name="str">要加密的字符串</param>
/// <returns>加密后的字符串</returns>
public static string Encrypt(string str)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] key = Encoding.UTF8.GetBytes(encryptKey);
byte[] data = Encoding.UTF8.GetBytes(str);
MemoryStream ms = new MemoryStream();
CryptoStream CStream = new CryptoStream(ms, des.CreateEncryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data, 0, data.Length);
CStream.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());//返回加密后的字符串
}
//解密
public static string Decrypt(string str)
{
str = str.Replace(" ", "");
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] key = Encoding.UTF8.GetBytes(encryptKey);
byte[] data = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream();
CryptoStream CStream = new CryptoStream(ms, des.CreateDecryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data, 0, data.Length);
CStream.FlushFinalBlock();
return Encoding.Unicode.GetString(ms.ToArray()); //返回解密后的字符串
}