using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; namespace 加密解密工具 { class 加密解密 { public static string EncryptDES3(string original, string password) { if ((original == null) || (original == "")) { return ""; } if ((password == null) || (password == "")) { password = "secretpassword1!"; } byte[] buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.Unicode.GetBytes(password)); TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider { Key = buffer, Mode = CipherMode.ECB }; byte[] bytes = Encoding.Unicode.GetBytes(original); string str = Convert.ToBase64String(provider.CreateEncryptor().TransformFinalBlock(bytes, 0, bytes.Length)); provider = null; return str; } public static string DecryptDES3(string original, string password) { if ((original == null) || (original == "")) { return ""; } if ((password == null) || (password == "")) { password = "secretpassword1!"; } byte[] buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.Unicode.GetBytes(password)); TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider { Key = buffer, Mode = CipherMode.ECB }; try { byte[] inputBuffer = Convert.FromBase64String(original); string str = Encoding.Unicode.GetString(provider.CreateDecryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length)); provider = null; return str; } catch { MessageBox.Show("请输入正确的解密字符串!"); return ""; } } } }