using System; using System.IO; using System.Security.Cryptography; namespace Common.Helper.Encryption { public class DesHelper { private const string Key = "Blue2021"; private const string Iv = "Flag2021"; /// /// DES加密 /// /// 加密数据 /// public static string DesEncrypt(string data) { var byKey = System.Text.Encoding.ASCII.GetBytes(Key); var byIv = System.Text.Encoding.ASCII.GetBytes(Iv); var cryptoProvider = new DESCryptoServiceProvider(); var ms = new MemoryStream(); var cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIv), CryptoStreamMode.Write); var sw = new StreamWriter(cst); sw.Write(data); sw.Flush(); cst.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } /// /// DES解密 /// /// 解密数据 /// public static string DesDecrypt(string data) { var byKey = System.Text.Encoding.ASCII.GetBytes(Key); var byIv = System.Text.Encoding.ASCII.GetBytes(Iv); byte[] byEnc; try { byEnc = Convert.FromBase64String(data); } catch { return null; } var cryptoProvider = new DESCryptoServiceProvider(); var ms = new MemoryStream(byEnc); var cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIv), CryptoStreamMode.Read); var sr = new StreamReader(cst); return sr.ReadToEnd(); } } }