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

     1  /// <summary>  
     2         /// 256位AES加密  
     3         /// </summary>  
     4         /// <param name="toEncrypt"></param>  
     5         /// <returns></returns> 
     6         public static string Encrypt(string toEncrypt, string skey, string IV)
     7         {
     8             //256-AES key      
     9             //byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678123456781234567812345678");
    10             byte[] keyArray = UTF8Encoding.UTF8.GetBytes(skey);
    11             byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);
    12             byte[] ivArray = UTF8Encoding.UTF8.GetBytes(IV);//1234567812345678
    13 
    14             RijndaelManaged rDel = new RijndaelManaged();
    15             rDel.Key = keyArray;
    16             rDel.Mode = CipherMode.CBC;
    17             rDel.Padding = PaddingMode.PKCS7;
    18             rDel.IV = ivArray;
    19 
    20             ICryptoTransform cTransform = rDel.CreateEncryptor();
    21             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
    22 
    23             return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    24         }
     /// <summary>  
            /// 256位AES解密  
            /// </summary>  
            /// <param name="toDecrypt"></param>  
            /// <returns></returns>  
            public static string Decrypt(string toDecrypt, string skey, string IV)
            {
                //256-AES key
                //byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678123456781234567812345678");
                byte[] keyArray = UTF8Encoding.UTF8.GetBytes(skey);
                byte[] toDecryptArray = Convert.FromBase64String(toDecrypt);
                byte[] ivArray = UTF8Encoding.UTF8.GetBytes(IV); //1234567812345678
    
                RijndaelManaged rDel = new RijndaelManaged();
                rDel.Key = keyArray;
                rDel.Mode = CipherMode.CBC;
                rDel.Padding = PaddingMode.PKCS7;
                rDel.IV = ivArray;
    
                ICryptoTransform cTransform = rDel.CreateDecryptor();
                byte[] resultArray = cTransform.TransformFinalBlock(toDecryptArray, 0, toDecryptArray.Length);
    
                return UTF8Encoding.UTF8.GetString(resultArray);
            }
  • 相关阅读:
    JDBC的步骤
    Java异常
    两个init方法的区别
    迭代器、foreach循环、泛型集合
    servlet的生命周期
    集合类对比
    在servlet中的中文乱码,相对路径和绝对路径
    【转】学习使用Jmeter做压力测试(一)--压力测试基本概念
    【转】jmeter压力测试
    【转】配置Jmeter的自定义参数
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/11195337.html
Copyright © 2011-2022 走看看