DES的加密解密
DES的加密解密
? ? ? ? ? DES加密算法是一種對稱加密算法,很可能是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中,最初開發的DEA是嵌入硬件中的。
? ? ? ? ??在VS中的使用非常的簡單,首先引用兩個命名空間,然后,需要的設置兩個參數,一個是key值秘鑰,一個是iv向量。
? ? ? ? ??引用命名空間
? ? ? ? ??usingSystem.IO;
? ? ? ? ??usingSystem.Security.Cryptography;
? ? ? ? ??加密解密函數
<span style="font-size:24px;">//加密函數public static string Encrypt(string sourceString, string key, string iv){try{byte[] btKey = Encoding.UTF8.GetBytes(key);byte[] btIV = Encoding.UTF8.GetBytes(iv);DESCryptoServiceProvider des = new DESCryptoServiceProvider();using (MemoryStream ms = new MemoryStream()){byte[] inData = Encoding.UTF8.GetBytes(sourceString);try{using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write)){cs.Write(inData, 0, inData.Length);cs.FlushFinalBlock();}return Convert.ToBase64String(ms.ToArray());}catch{return sourceString;}}}catch { }return "DES加密出錯";} //解密函數public static string Decrypt(string encryptedString, string key, string iv){byte[] btKey = Encoding.UTF8.GetBytes(key);byte[] btIV = Encoding.UTF8.GetBytes(iv);DESCryptoServiceProvider des = new DESCryptoServiceProvider();using (MemoryStream ms = new MemoryStream()){byte[] inData = Convert.FromBase64String(encryptedString);try{using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write)){cs.Write(inData, 0, inData.Length);cs.FlushFinalBlock();}return Encoding.UTF8.GetString(ms.ToArray());}catch{return encryptedString;}}}</span>? ? ? ? ??添加兩個控件,進行調用加密解密函數,一句話即可。
<span style="font-size:24px;">private void button1_Click(object sender, EventArgs e){string jiamiqian = textBox1.Text;textBox2.Text = Encrypt(jiamiqian, "12345678", "abcdefgh");}private void button2_Click(object sender, EventArgs e){string jiemiqian = textBox1.Text;textBox2.Text = Decrypt(jiemiqian, "12345678", "abcdefgh");} </span>總結
- 上一篇: View和View的参数传递二
- 下一篇: JS自动刷新当前页面