AES

public static class AESEncryptionUtility
    {
        /// <summary> 
        /// AES加密 
        /// </summary>
        public static string AESEncrypt(string value, string _aeskey = null)
        {
            byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
            byte[] toEncryptArray = Encoding.UTF8.GetBytes(value);

            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);
        }

        /// <summary> 
        /// AES解密 
        /// </summary>
        public static string AESDecrypt(string value, string _aeskey = null)
        {
            byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
            byte[] toEncryptArray = Convert.FromBase64String(value);

            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 Encoding.UTF8.GetString(resultArray);
        }

        public static string AesGenKey(int size,CipherMode mode = CipherMode.CBC, PaddingMode paddingMode = PaddingMode.PKCS7)
        {
            RijndaelManaged rijndaelManaged = new RijndaelManaged
            {
                KeySize = size,
                Mode = mode,
                Padding = paddingMode
            };
            rijndaelManaged.GenerateKey();
            return Convert.ToBase64String(rijndaelManaged.Key);
        }
    }

使用方式

[TestMethod]
        public void AES()
        {
            var key=AESEncryptionUtility.AesGenKey(128);
            var input = "HelloWorld1";
            var secret = AESEncryptionUtility.AESEncrypt(input, key, "FFFFF09839694AC6");
            Console.WriteLine(secret);
        }
        [TestMethod]
        public void DeAES()
        {
            var key = AESEncryptionUtility.AesGenKey(128);
            var input = "HelloWorld1";
            var secret = AESEncryptionUtility.AESEncrypt(input, key, "FFFFF09839694AC6");
            var result = AESEncryptionUtility.AESDecrypt(secret, key, "FFFFF09839694AC6");
            Console.WriteLine(result);
        }
posted @ 2019-12-19 12:21  Hey,Coder!  阅读(1090)  评论(0)    收藏  举报