zoukankan      html  css  js  c++  java
  • [转载]MD5加密解密

    MD5加密解密

    using System;
    using System.Text;
    using System.IO;
    using System.Security.Cryptography;

    class Class1
    {
     static void Main()
     {
      Console.WriteLine("Encrypt String...");
      txtKey = "tkGGRmBErvc=";//设置加密Key
      btnKeyGen();
      Console.WriteLine("Encrypt Key :{0}",txtKey);
      txtIV = "Kl7ZgtM1dvQ=";//设置加密IV
      btnIVGen();
      Console.WriteLine("Encrypt IV :{0}",txtIV);
      Console.WriteLine();

      string txtEncrypted = EncryptString("测试");
      Console.WriteLine("Encrypt String : {0}",txtEncrypted);

      string txtOriginal = DecryptString(txtEncrypted);
      Console.WriteLine("Decrypt String : {0}",txtOriginal);
     }

     private static SymmetricAlgorithm mCSP;
     private static string txtKey;
     private static string txtIV;

     private static void btnKeyGen()
     {
      mCSP = SetEnc();

      byte[] byt2 = Convert.FromBase64String(txtKey);

      mCSP.Key = byt2;
     }

     private static void btnIVGen()
     {
      byte[] byt2 = Convert.FromBase64String(txtIV);

      mCSP.IV = byt2;
     }

     private static string EncryptString(string Value)
     {
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;

      ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);

      byt = Encoding.UTF8.GetBytes(Value);

      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
     
      cs.Close();

      return Convert.ToBase64String(ms.ToArray());
     }

     private static string DecryptString(string Value)
     {
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;

      ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);

      byt = Convert.FromBase64String(Value);

      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();

      cs.Close();

      return Encoding.UTF8.GetString(ms.ToArray());
     }

     private static SymmetricAlgorithm SetEnc()
     {
      return new DESCryptoServiceProvider();
     }
    }

  • 相关阅读:
    SpringBoot yml配置数据库密码特殊字符报错问题
    SpringBoot打jar包后无法访问resource下的文件
    js使用form提交工具类
    SpringBoot使用@ServerEndpoint无法@Autowired依赖注入问题解决
    java基于dfa实现敏感词过滤
    SpringBoot快速集成WebSocket实现群聊
    java生成序号前补0最简单的方法
    Mysql两个时间差计算方法
    python+selenium+webdriver环境搭建相关文档
    Java递归处理Tree树结构
  • 原文地址:https://www.cnblogs.com/chorrysky/p/897369.html
Copyright © 2011-2022 走看看