/**** 參考出處
http://big5.webasp.net/article/15/14452.htm
****/
private byte[] KEY_64 = new byte[] { 42, 16, 93, 156, 78, 4, 218, 32 }; //密鑰
private byte[] IV_64 = new byte[] { 55, 103, 246, 79, 36, 99, 167, 3 }; //初始化向量
protected void btnEncryptor_Click(object sender, EventArgs e)
{
//加密
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
sw.Write(TextBox1.Text);
sw.Flush();
cs.FlushFinalBlock();
ms.Flush();
Label1.Text = Convert.ToBase64String(ms.GetBuffer(), 0, Int32.Parse(ms.Length.ToString()));
}
protected void btnDecryptor_Click(object sender, EventArgs e)
{
//解密
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
Byte[] buffer = Convert.FromBase64String(Label1.Text);
MemoryStream ms = new MemoryStream(buffer);
CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_64, IV_64), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
Label2.Text = sr.ReadToEnd();
}