AES
public static class AESEncryptionUtility
{
/// <summary>
/// AES加密
/// </summary>
public static string AESEncrypt(string value, string _aeskey = null)
{
byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
byte[] toEncryptArray = Encoding.UTF8.GetBytes(value);
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解密
/// </summary>
public static string AESDecrypt(string value, string _aeskey = null)
{
byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
byte[] toEncryptArray = Convert.FromBase64String(value);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
public static string AesGenKey(int size,CipherMode mode = CipherMode.CBC, PaddingMode paddingMode = PaddingMode.PKCS7)
{
RijndaelManaged rijndaelManaged = new RijndaelManaged
{
KeySize = size,
Mode = mode,
Padding = paddingMode
};
rijndaelManaged.GenerateKey();
return Convert.ToBase64String(rijndaelManaged.Key);
}
}
使用方式
[TestMethod]
public void AES()
{
var key=AESEncryptionUtility.AesGenKey(128);
var input = "HelloWorld1";
var secret = AESEncryptionUtility.AESEncrypt(input, key, "FFFFF09839694AC6");
Console.WriteLine(secret);
}
[TestMethod]
public void DeAES()
{
var key = AESEncryptionUtility.AesGenKey(128);
var input = "HelloWorld1";
var secret = AESEncryptionUtility.AESEncrypt(input, key, "FFFFF09839694AC6");
var result = AESEncryptionUtility.AESDecrypt(secret, key, "FFFFF09839694AC6");
Console.WriteLine(result);
}
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com

浙公网安备 33010602011771号