// 输入代码内容
/// <summary>
/// Aes加密解密
/// @author lishuai
/// @date 20220527 13:01
/// </summary>
public class AesUtil
{
/// <summary>
/// AES加密 (128-ECB加密模式)
/// </summary>
/// <param name="toEncrypt">内容</param>
/// <param name="key">秘钥</param>
/// <returns></returns>
public static string AESEncrypt(string toEncrypt, string key)
{
byte[] keyArray = Convert.FromBase64String(key);
//byte[] outputb = Convert.FromBase64String("Q3xNHuj9JJu1EGQnJnzIDA==");
byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// AES解密(128-ECB加密模式)
/// </summary>
/// <param name="toDecrypt">密文</param>
/// <param name="key">秘钥(Base64String)</param>
/// <returns></returns>
public static string AESDecrypt(string toDecrypt, string key)
{
try
{
byte[] keyArray = Convert.FromBase64String(key); //128bit
byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray; //获取或设置对称算法的密钥
rDel.Mode = CipherMode.ECB; //获取或设置对称算法的运算模式,必须设置为ECB
rDel.Padding = PaddingMode.PKCS7; //获取或设置对称算法中使用的填充模式,必须设置为PKCS7
ICryptoTransform cTransform = rDel.CreateDecryptor(); //用当前的 Key 属性和初始化向量 (IV) 建立对称解密器对象
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
catch
{
return null;
}
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。