using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Security.Cryptography;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace LB_SmartVisionCommon
|
{
|
/// <summary>
|
/// AES加密/解密
|
/// </summary>
|
public class AESHelper
|
{
|
private static readonly byte[] Key = Encoding.UTF8.GetBytes("SHANGHAILANBAOSHANGHAILANBAO1234"); // 32字节
|
private static readonly byte[] IV = Encoding.UTF8.GetBytes("LANBAO1234567890"); // 16字节
|
/// <summary>
|
/// AES加密
|
/// </summary>
|
/// <param name="plainText">待加密文字</param>
|
/// <returns>加密后文字</returns>
|
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());
|
}
|
}
|
}
|
|
/// <summary>
|
/// AES解密
|
/// </summary>
|
/// <param name="cipherText">待解密文字</param>
|
/// <returns>解密后文字</returns>
|
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();
|
}
|
}
|
}
|
}
|
}
|