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

  • 相关阅读:
    对 Service中sqlsession对象的优化
    mybatis 接口绑定 和 动态SQL
    添加指定的日志信息
    数据库优化
    MyBatis 实现新增
    MyBatis中log4j 和 参数 和 分页和别名 功能
    OpenGL_混合
    android应用开发揭秘第13章01示例,移动图像,opengl绘制星星问题解决!
    《关于个人承接项目的注意事项》读后感
    Android OpenGL ES教程 第二部分 构建多边形
  • 原文地址:https://www.cnblogs.com/chorrysky/p/897369.html
Copyright © 2011-2022 走看看