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

  • 相关阅读:
    protobuf使用遇到的坑
    嵌入式开发入门心得记录
    vim编辑模式下黑色背景,下来过程中出现白条的问题
    linux中awk的应用
    ntp时间同步
    mysql5.5适配
    centos 安装 epel
    ubuntu jdk安装
    add_header Access-Control-Allow-Origin $http_Origin always;
    111
  • 原文地址:https://www.cnblogs.com/chorrysky/p/897369.html
Copyright © 2011-2022 走看看