zoukankan      html  css  js  c++  java
  • AES加密解密

     public class AESDE
        {
            public AESDE() { }

            #region AES-BAIDU
            
            /// <summary>
            /// AES加密
            /// </summary>
            /// <param name="encryptStr">明文</param>
            /// <param name="key">密钥</param>
            /// <returns></returns>

            public static string Encrypt( string encryptStr, string key )
            {

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

            }


            /// <summary>
            /// AES解密
            /// </summary>
            /// <param name="decryptStr">密文</param>
            /// <param name="key">密钥</param>
            /// <returns></returns>

            public static string Decrypt( string decryptStr, string key )
            {

                byte[] keyArray = UTF8Encoding.UTF8.GetBytes( key );

                byte[] toEncryptArray = Convert.FromBase64String( decryptStr );

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

            }

            #endregion
        }

  • 相关阅读:
    viso图插入Word中大片空白解决办法
    面向对象设计模式中的单例模式和工厂模式
    面向对象知识整理
    require和include的区别及自动加载的定义
    面向对象的三大特性及定义
    重写和重载的区别 (部分内容转自竹木人)
    面向对象的基本概念
    PHP json_encode( ) 函数介绍
    js页面跳转常用的几种方式
    js中页面刷新和页面跳转的方法总结 [ 转自欢醉同学 ]
  • 原文地址:https://www.cnblogs.com/tonglei/p/4422854.html
Copyright © 2011-2022 走看看