using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace TemuKJD.Helper { public class AesHelper { private readonly byte[] _key; // 256位密钥 private readonly byte[] _iv; // 128位初始化向量 public AesHelper(string base64Key, string base64Iv) { _key = Convert.FromBase64String(base64Key); _iv = Convert.FromBase64String(base64Iv); } public string Encrypt(string plainText) { using (var aes = Aes.Create()) { aes.Key = _key; //aes.IV = _iv; using (var encryptor = aes.CreateEncryptor()) using (var ms = new MemoryStream()) { using (var cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) using (var sw = new StreamWriter(cs)) { sw.Write(plainText); } return Convert.ToBase64String(ms.ToArray()); } } } public string Decrypt(string cipherText) { using (var aes = Aes.Create()) { aes.Key = _key; aes.IV = _iv; using (var decryptor = aes.CreateDecryptor()) using (var ms = new MemoryStream(Convert.FromBase64String(cipherText))) using (var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read)) using (var sr = new StreamReader(cs)) { return sr.ReadToEnd(); } } } } }