• Aes加解密


    遇到URL参数的加解密,出于安全性的考虑,一般在后台进行参数的处理,Aes(高级加密标准)是比较常见的加解密方法,其流程如下:
     1 /// <summary>
     2     /// 加解密
     3     /// </summary>
     4     public class AesCode {
     5         #region 加解密
     6         /// <summary>  
     7         /// AES 解密  
     8         /// </summary>  
     9         /// <param name="toDecrypt"></param>  
    10         /// <returns></returns>  
    11         public static string AesDecrypt(string toDecrypt) {
    12             byte[] keyArray = Encoding.UTF8.GetBytes("12345678901234567890123456789012");
    13             byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);
    14 
    15             RijndaelManaged rDel = new RijndaelManaged();
    16             rDel.Key = keyArray;
    17             rDel.Mode = CipherMode.ECB;
    18             rDel.Padding = PaddingMode.PKCS7;
    19 
    20             ICryptoTransform cTransform = rDel.CreateDecryptor();
    21             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
    22 
    23             return Encoding.UTF8.GetString(resultArray);
    24         }
    25 
    26         /// <summary>  
    27         /// AES 加密  
    28         /// </summary>  
    29         /// <param name="toEncrypt"></param>  
    30         /// <returns></returns>  
    31         public static string AesEncrypt(string toEncrypt) {
    32             byte[] keyArray = Encoding.UTF8.GetBytes("12345678901234567890123456789012");
    33             byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
    34 
    35             RijndaelManaged rDel = new RijndaelManaged();
    36             rDel.Key = keyArray;
    37             rDel.Mode = CipherMode.ECB;
    38             rDel.Padding = PaddingMode.PKCS7;
    39 
    40             ICryptoTransform cTransform = rDel.CreateEncryptor();
    41             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
    42 
    43             return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    44         }
    45         #endregion
    46     }
    View Code
  • 相关阅读:
    C语言-错误处理
    C语言-排序和查找
    PCB设计要点
    C语言-调试
    c++ 概述
    C语言-指针
    C语言-数组与指针 字符与字符串
    C语言-(void*)类型指针
    C语言-字符操作函数
    C语言-链表
  • 原文地址:https://www.cnblogs.com/ArsenalArsig/p/9075156.html
Copyright © 2020-2023  润新知