.net 加密常用代码
2010-08-15 14:34 ruinet 阅读(323) 评论(0) 编辑 收藏 举报TripleDES 三重数据加密
public string Encrypt(string data)
{
TripleDESCryptoServiceProvider tDES = new TripleDESCryptoServiceProvider();
tDES.IV = new ASCIIEncoding().GetBytes("12345678"); //8位
tDES.Key = new ASCIIEncoding().GetBytes("123456789012345678901234");//24位
//or like this.
//tDES.GenerateIV();
//tDES.GenerateKey();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream,
tDES.CreateEncryptor(),
CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cStream);
sw.Write(data);
sw.Flush();
cStream.FlushFinalBlock();
mStream.Flush();
return Convert.ToBase64String(mStream.GetBuffer(), 0, (int)mStream.Length);
}
public string Decrypt(string data)
{
TripleDESCryptoServiceProvider tDES = new TripleDESCryptoServiceProvider();
tDES.IV = new ASCIIEncoding().GetBytes("12345678"); //8位
tDES.Key = new ASCIIEncoding().GetBytes("123456789012345678901234");//24位密钥
byte[] byData = Convert.FromBase64String(data);
MemoryStream mStream = new MemoryStream(byData);
CryptoStream cStream = new CryptoStream(mStream,
tDES.CreateDecryptor(),
CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cStream);
return sr.ReadToEnd();
}
{
TripleDESCryptoServiceProvider tDES = new TripleDESCryptoServiceProvider();
tDES.IV = new ASCIIEncoding().GetBytes("12345678"); //8位
tDES.Key = new ASCIIEncoding().GetBytes("123456789012345678901234");//24位
//or like this.
//tDES.GenerateIV();
//tDES.GenerateKey();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream,
tDES.CreateEncryptor(),
CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cStream);
sw.Write(data);
sw.Flush();
cStream.FlushFinalBlock();
mStream.Flush();
return Convert.ToBase64String(mStream.GetBuffer(), 0, (int)mStream.Length);
}
public string Decrypt(string data)
{
TripleDESCryptoServiceProvider tDES = new TripleDESCryptoServiceProvider();
tDES.IV = new ASCIIEncoding().GetBytes("12345678"); //8位
tDES.Key = new ASCIIEncoding().GetBytes("123456789012345678901234");//24位密钥
byte[] byData = Convert.FromBase64String(data);
MemoryStream mStream = new MemoryStream(byData);
CryptoStream cStream = new CryptoStream(mStream,
tDES.CreateDecryptor(),
CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cStream);
return sr.ReadToEnd();
}