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);
            }
  • 相关阅读:
    mybatis概述
    Spring的配置分别是xml和java style
    JavaScript对象数据过滤、修改
    Spring框架
    设计模式-工厂方法模式(Fatory Patterm)
    简单的数据结构
    java链式操作
    centos7 php开发环境安装-composer
    centos7 php开发环境安装-php
    centos7 php开发环境安装-Apache
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/11195337.html
Copyright © 2011-2022 走看看