1. 程式人生 > >C#使用AES加密

C#使用AES加密

images tel nsf nbsp spa cipher ctr final mar

    public class AES
    {
        /// <summary>
        /// 獲取密鑰 必須是32字節
        /// </summary>
        private static string Key
        {
            get { return @"ae125efkk4_54eeff444ferfkny6oxi8"; }
        }

        /// <summary>
        /// AES加密
        /// </summary>
        /// <param name="plainStr">
明文字符串</param> /// <returns>密文</returns> public static string AESEncrypt(string encryptStr) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Key); byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(encryptStr); 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); } public static string AESDEncrypt(string encryptStr) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Key); byte[] toEncryptArray = Convert.FromBase64String(encryptStr); 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 UTF8Encoding.UTF8.GetString(resultArray); } }

  調用代碼:

        static void Main(string[] args)
        {

            string s = AES.AESEncrypt("我1愛小23小張0-0");
            Console.WriteLine(s);
            Console.WriteLine(AES.AESDEncrypt(s));
            Console.Read();
        }

技術分享

C#使用AES加密