private string encryptKey = "3abc"; //定义密钥
//加密
System.Security.Cryptography.DESCryptoServiceProvider desProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
byte[] key = System.Text.Encoding.Unicode.GetBytes(encryptKey);
byte[] data = System.Text.Encoding.Unicode.GetBytes(textBox1.Text.Trim());
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Security.Cryptography.CryptoStream cryptoStream = new System.Security.Cryptography.CryptoStream(ms, desProvider.CreateEncryptor(key, key), System.Security.Cryptography.CryptoStreamMode.Write);
cryptoStream.Write(data, 0, data.Length);
cryptoStream.FlushFinalBlock();
textBox2.Text = Convert.ToBase64String(ms.ToArray());
//解密
System.Security.Cryptography.DESCryptoServiceProvider desProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
byte[] key = System.Text.Encoding.Unicode.GetBytes(encryptKey);
byte[] data = Convert.FromBase64String(textBox2.Text.Trim());
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Security.Cryptography.CryptoStream cryptoStream = new System.Security.Cryptography.CryptoStream(ms, desProvider.CreateDecryptor(key, key), System.Security.Cryptography.CryptoStreamMode.Write);
cryptoStream.Write(data, 0, data.Length);
cryptoStream.FlushFinalBlock();
textBox3.Text = System.Text.Encoding.Unicode.GetString(ms.ToArray());
//MD5 32位加密
private void button2_Click(object sender, EventArgs e)
{
richTextBox1.Text = String.Empty;
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] beforeEncrypt = System.Text.Encoding.Default.GetBytes(textBox2.Text.Trim()); //将字符编码为一个序列
byte[] md5Data = md5.ComputeHash(beforeEncrypt);//计算指定字节数组的Hash值
md5.Clear();
string str = String.Empty;
for (int i = 0; i < md5Data.Length; i++)
{
str += md5Data[i].ToString("x").PadLeft(2, '0');//X为大写,则加密后显示大写,否则为小写
}
richTextBox1.Text = str;
}