C# 加密解密

public static string key = "1234567890123456";//必须16位

        ///

        ///  AES 加密

        ///

        /// 明文(待加密)

        ///

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

        }

        ///

        ///  AES 解密

        ///

        /// 明文(待解密)

        ///

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

        }

你可能感兴趣的:(C# 加密解密)