zoukankan      html  css  js  c++  java
  • 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("="));
      }
     }
    }

    世界那么大,代码连接你我他,凭借代码走天下,依靠代码撑起家
  • 相关阅读:
    一个万能的工具包下载网站
    Keras框架简介
    发现了一个非常棒的pyqt5的例子集
    人脸识别常用数据集大全(12/20更新)
    用 opencv和numpy进行图片和字符串互转,并保存至 json
    机器学习中的范数规则化-L0,L1和L2范式(转载)
    利用face_recognition库裁取人脸
    一招解决C盘空间不足,再也不怕硬盘爆满!
    【LeetCode】394.字符串解码(辅助栈、递归、详细图解)
    程序员那些事儿:女婿程序员
  • 原文地址:https://www.cnblogs.com/HKKILL/p/5593106.html
Copyright © 2011-2022 走看看