• MD5 加密,AES加密,解密 方法


    using System;
    using System.IO;
    using System.Security.Cryptography;
    using System.Text;
    namespace SureSoft.Utility
    {
     public class Security
     {
      public static string MD5(string value)
      {
       MD5 mD = new MD5CryptoServiceProvider();
       byte[] bytes = Encoding.Default.GetBytes(value);
       byte[] array = mD.ComputeHash(bytes);
       mD.Clear();
       StringBuilder stringBuilder = new StringBuilder();
       for (int i = 0; i < array.Length - 1; i++)
       {
        stringBuilder.Append(array[i].ToString("x").PadLeft(2, '0'));
       }
       return stringBuilder.ToString();
      }
      public static string AESEncrypt(string plainText)
      {
       Rijndael rijndael = Rijndael.Create();
       rijndael.IV = new byte[]
       {
        18,
        52,
        86,
        120,
        144,
        171,
        205,
        239,
        18,
        52,
        86,
        120,
        144,
        171,
        205,
        239
       };
       string s = "abcdabcdabcdabcdabcdabcdabcdabcd";
       rijndael.Key = Encoding.UTF8.GetBytes(s);
       MemoryStream memoryStream = new MemoryStream();
       CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateEncryptor(), CryptoStreamMode.Write);
       plainText += "=";
       cryptoStream.Write(Encoding.UTF8.GetBytes(plainText), 0, plainText.Length);
       cryptoStream.FlushFinalBlock();
       byte[] inArray = memoryStream.ToArray();
       cryptoStream.Close();
       memoryStream.Close();
       return Convert.ToBase64String(inArray);
      }
      public static string AESDecrypt(string codeText)
      {
       Rijndael rijndael = Rijndael.Create();
       rijndael.IV = new byte[]
       {
        18,
        52,
        86,
        120,
        144,
        171,
        205,
        239,
        18,
        52,
        86,
        120,
        144,
        171,
        205,
        239
       };
       string s = "abcdabcdabcdabcdabcdabcdabcdabcd";
       rijndael.Key = Encoding.UTF8.GetBytes(s);
       byte[] array = Convert.FromBase64String(codeText);
       MemoryStream memoryStream = new MemoryStream(array);
       CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateDecryptor(), CryptoStreamMode.Read);
       byte[] array2 = new byte[array.Length];
       cryptoStream.Read(array2, 0, array2.Length);
       cryptoStream.Close();
       memoryStream.Close();
       string @string = Encoding.UTF8.GetString(array2);
       return @string.Substring(0, @string.LastIndexOf("="));
      }
     }
    }

    世界那么大,代码连接你我他,凭借代码走天下,依靠代码撑起家
  • 相关阅读:
    linux中fork()函数详解
    并发和并行有什么区别?
    利用bochs调试Linux 0.11内核
    [调整] Firemonkey iOS 原生 Edit 透明框, 改变框色
    [修正] Firemonkey Windows 控件有虚线残影问题
    [示例] Firemonkey 图片按钮(3态)
    [示例] Firemonkey 不规则按钮实做
    [函数] Delphi FMX Windows 取得下载 Downloads 目录
    [工具] Firemonkey Style 调色工具(可另存 Style 文件)
    [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试
  • 原文地址:https://www.cnblogs.com/HKKILL/p/5593106.html
Copyright © 2020-2023  润新知