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("="));
      }
     }
    }

    世界那么大,代码连接你我他,凭借代码走天下,依靠代码撑起家
  • 相关阅读:
    本周四,CODING DevOps 深度解析系列最后一课等你来
    CODING DevOps 深度解析系列第二课报名倒计时!
    9 月 22 日,CODING DevOps 深度解析系列第一课线上开讲!
    9 月直播课预告 | CODING DevOps 深度解析系列上线啦
    LNMP Wordpress phpMyAdmin的部署记录
    在centos上部署docker与wordpress
    flask项目集成swagger
    windows局域网搭建本地git代码版本管理仓库
    docker部署的经验
    现有 Vue.js 项目快速实现多语言切换的一种思路
  • 原文地址:https://www.cnblogs.com/HKKILL/p/5593106.html
Copyright © 2011-2022 走看看