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

  • 相关阅读:
    Rpc简单入门
    对话Task
    对话线程
    译MassTransit 生产消息
    MassTransit 实现应用程序间交互
    译MassTransit 消息契约
    轻松理解AOP思想(面向切面编程)
    Elasticsearch 全教程
    Elasticsearch 教程--搜索
    Elasticsearch 教程--数据
  • 原文地址:https://www.cnblogs.com/chorrysky/p/897369.html
Copyright © 2011-2022 走看看