using System;
using System.Security.Cryptography;
using System.Text;
namespace Encrypt
{
/// <summary>
/// Description of AESEncrypt.
/// </summary>
public class AESEncrypt
{
public AESEncrypt()
{
}
/// <summary>
/// AES加密
/// </summary>
/// <param name="strEncrypt">被加密字符串</param>
/// <param name="strKey">加密密钥</param>
/// <returns></returns>
public string GetAESEncrypt(string strEncrypt, string strKey)
{
try
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strKey, "md5"));
byte[] strEncryptArray = UTF8Encoding.UTF8.GetBytes(strEncrypt);
byte[] resultArray = null;
using (RijndaelManaged rDel = new RijndaelManaged())
{
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateEncryptor();
resultArray = cTransform.TransformFinalBlock(strEncryptArray, 0, strEncryptArray.Length);
}
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
catch
{
return null;
}
}
/// <summary>
/// AES解密
/// </summary>
/// <param name="strDecrypt">被解密字符串</param>
/// <param name="strKey">解密密钥</param>
/// <returns></returns>
public string GetAESDecrypt(string strDecrypt, string strKey)
{
try
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strKey, "md5"));
byte[] strDecryptArray = Convert.FromBase64String(strDecrypt);
byte[] resultArray = null;
using (RijndaelManaged rDel = new RijndaelManaged())
{
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateDecryptor();
resultArray = cTransform.TransformFinalBlock(strDecryptArray, 0, strDecryptArray.Length);
}
return UTF8Encoding.UTF8.GetString(resultArray);
}
catch
{
return null;
}
}
}
}