AES高级加密标准 密码学中的高级加密标准,是美国联邦政府采用的一种区块加密标准。
主要代码:
- using System;
- using System.Text;
- using System.Security.Cryptography;
- using System.IO;
- namespace YongFa365.Security
- {
- /// <summary></summary>
- /// AES加密解密
- ///
- public class AES
- {
- public static string Encrypt( 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 ;
- }
- }
- public static string Decrypt( 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 ;
- }
- }
- }
- }