C#_AES加密

来源:互联网 发布:c语言小写字母转大写 编辑:程序博客网 时间:2024/05/20 09:48
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;               }           }    }}


 

原创粉丝点击