AES 加密与解密
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace WeChat.AES
{
    public class AESHelper
    {
	/// <summary>
	/// 获取密钥
	/// </summary>
	private static string key
	{
	    get
	    {
		return "qaz14789wsxedcrf";    ////必须是16位
	    }
	}
	/// <summary>
	///  AES 加密
	/// </summary>
	/// <param name="str">明文(待加密)</param>
	/// <param name="key">密文</param>
	/// <returns></returns>
	public static string AesEncrypt(string str)
	{
	    if (string.IsNullOrEmpty(str)) return null;
	    Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
	    RijndaelManaged rm = new RijndaelManaged
	    {
		Key = Encoding.UTF8.GetBytes(key),
		Mode = CipherMode.ECB,
		Padding = PaddingMode.PKCS7
	    };
	    ICryptoTransform cTransform = rm.CreateEncryptor();
	    Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
	    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
	}
	/// <summary>
	///  AES 解密
	/// </summary>
	/// <param name="str">明文(待解密)</param>
	/// <param name="key">密文</param>
	/// <returns></returns>
	public static string AesDecrypt(string str)
	{
	    if (string.IsNullOrEmpty(str)) return null;
	    Byte[] toEncryptArray = Convert.FromBase64String(str);
	    RijndaelManaged rm = new RijndaelManaged
	    {
		Key = Encoding.UTF8.GetBytes(key),
		Mode = CipherMode.ECB,
		Padding = PaddingMode.PKCS7
	    };
	    ICryptoTransform cTransform = rm.CreateDecryptor();
	    Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
	    return Encoding.UTF8.GetString(resultArray);
	}
    }
}
                    
                
                
            
        
浙公网安备 33010602011771号