using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace LB_SmartVisionCommon
{
///
/// AES加密/解密
///
public class AESHelper
{
private static readonly byte[] Key = Encoding.UTF8.GetBytes("SHANGHAILANBAOSHANGHAILANBAO1234"); // 32字节
private static readonly byte[] IV = Encoding.UTF8.GetBytes("LANBAO1234567890"); // 16字节
///
/// AES加密
///
/// 待加密文字
/// 加密后文字
public static string Encrypt(string plainText)
{
using (Aes aes = Aes.Create())
{
aes.Key = Key;
aes.IV = IV;
ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
using (MemoryStream ms = new MemoryStream())
using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter sw = new StreamWriter(cs))
{
sw.Write(plainText);
}
return Convert.ToBase64String(ms.ToArray());
}
}
}
///
/// AES解密
///
/// 待解密文字
/// 解密后文字
public static string Decrypt(string cipherText)
{
using (Aes aes = Aes.Create())
{
aes.Key = Key;
aes.IV = IV;
ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(cipherText)))
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
using (StreamReader sr = new StreamReader(cs))
{
return sr.ReadToEnd();
}
}
}
}
}