C# AES 加密解密

来源:互联网 发布:富士 打印软件 编辑:程序博客网 时间:2024/05/18 00:26

使用流程

        /// <summary>        ///  AES 加密        /// </summary>        /// <param name="str">明文</param>        /// <param name="key">密匙</param>        /// <returns>密文</returns>        public static string AesEncrypt(string str, string key)        {            try            {                if (string.IsNullOrEmpty(str)) return null;                Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);                System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged                {                    Key = Encoding.UTF8.GetBytes(key),                    Mode = System.Security.Cryptography.CipherMode.ECB,                    Padding = System.Security.Cryptography.PaddingMode.PKCS7                };                System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateEncryptor();                Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);                return Convert.ToBase64String(resultArray, 0, resultArray.Length);            }            catch (Exception ex)            {                LogHelper.WriteLog(LogFile.Error, ex.Message);                return "";            }        }        /// <summary>        ///  AES 解密        /// </summary>        /// <param name="str">密文</param>        /// <param name="key">密匙</param>        /// <returns>明文</returns>        public static string AesDecrypt(string str, string key)        {            try            {                if (string.IsNullOrEmpty(str)) return null;                Byte[] toEncryptArray = Convert.FromBase64String(str);                System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged                {                    Key = Encoding.UTF8.GetBytes(key),                    Mode = System.Security.Cryptography.CipherMode.ECB,                    Padding = System.Security.Cryptography.PaddingMode.PKCS7                };                System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();                Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);                return Encoding.UTF8.GetString(resultArray);            }            catch (Exception ex)            {                LogHelper.WriteLog(LogFile.Error, ex.Message);                return "";            }        }

参考于: http://blog.csdn.net/qq_28205153/article/details/55798628

原创粉丝点击