//生成cs文件

public class MD5Help
{
  ///MD5加密
  public static string MD5Encrypt(string pToEncrypt, string sKey)
  {
  DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
  des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
  des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
  MemoryStream ms = new MemoryStream();
  CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
  cs.Write(inputByteArray, 0, inputByteArray.Length);
  cs.FlushFinalBlock();
  StringBuilder ret = new StringBuilder();
  foreach (byte b in ms.ToArray())  
  {
  ret.AppendFormat("{0:X2}", b);
  }
  ret.ToString();
  return ret.ToString();

  }

  ///MD5解密
  public static string MD5Decrypt(string pToDecrypt, string sKey)
  {
  DESCryptoServiceProvider des = new DESCryptoServiceProvider();

  byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
  for (int x = 0; x < pToDecrypt.Length / 2; x++)
  {
  int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
  inputByteArray[x] = (byte)i;
  }

  des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
  des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
  MemoryStream ms = new MemoryStream();
  CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
  cs.Write(inputByteArray, 0, inputByteArray.Length);
  cs.FlushFinalBlock();

  StringBuilder ret = new StringBuilder();

  return System.Text.Encoding.Default.GetString(ms.ToArray());
  }
}

-------------------------------------------------------------------------------------------------

使用:

string IPassword = MD5Help.MD5Encrypt(password, ConfigurationManager.AppSettings["sKey"].ToString()); //加密
string JPassword = MD5Help.MD5Decrypt(Password, ConfigurationManager.AppSettings["sKey"].ToString()); //解密

webConfig配置:

<!--Md5加密key-->
<add key="sKey" value="JUNDAOXT"/>

C# MD5 加密,解密的更多相关文章

  1. C# MD5加密解密帮助类

    /// <summary>    /// MD5加密解密帮助类    /// </summary>    public static class DESHelper    {  ...

  2. java 采用MD5加密解密

    MD5加密解密 package endecrypt; import java.io.UnsupportedEncodingException; import java.security.Message ...

  3. DES加密解密 MD5加密解密

    #region MD5 加密 /// <summary> /// MD5加密静态方法 /// </summary> /// <param name="Encry ...

  4. MD5加密解密

    方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer scien ...

  5. .NET MD5加密解密代码

    MD5简介: 是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是MD2.MD4还是MD5,它们都需要获 ...

  6. .net core 使用MD5加密解密字符串

    /// <summary> /// 加密 /// </summary> /// <param name="Text">要加密的文本</pa ...

  7. C#,ASP.NET简单的MD5加密,解密

    简单的MD5加密 首先要有一个加解密的规则  就是key 代码如下 // 创建Key public string GenerateKey() { DESCryptoServiceProvider de ...

  8. MD5加密解密类(asp.net)&使用MD5过时处理

    加密类 #region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name=&q ...

  9. c#MD5加密解密

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Secur ...

  10. MD5加密解密帮助类

    using System; using System.Security.Cryptography; using System.Text; namespace Maticsoft.DBUtility { ...

随机推荐

  1. windows下的python环境搭建(python2和python3不兼容,python2用的多)

    Windows平台下搭建python开发环境 以下为在 Window 平台上安装 Python 的简单步骤: 打开WEB浏览器访问http://www.python.org/download/ 在下载 ...

  2. BZOJ1053 [HAOI2007]反素数ant 数论

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - BZOJ1053 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正 ...

  3. vi中批量加注释

    用v进入virtual模式 按Control+v(win下面ctrl+q)进入列模式 上下键来进行选择 I进行输入(shift+i) 按两次ese键

  4. android和java以太坊开发区块链应用使用web3j类库

    如何使用web3j为Java应用或Android App增加以太坊区块链支持,教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建.钱包创建.交易转账,交易与状态.智能合约开发与交互.过滤器和 ...

  5. windows下端口映射(端口转发)

    windows下端口映射(端口转发) 转载: https://blog.csdn.net/i1j2k3/article/details/70228043 本文是对网文的归纳整理,算不上原创,摸索过程亲 ...

  6. 【java并发核心二】Exchanger的使用

    类 Exchanger 的功能可以使2个线程之间传输数据,比生产者/消费者模式方便. Exchanger类的结构很简单,重点就是exchange()方法. exchange()方法是阻塞执行的,可以设 ...

  7. IdentityServer4-快速入门

    一.设置和概述 二.使用客户端凭证保护API 三.使用密码保护API 四.使用OpenID Connect添加用户验证 五.添加对外部认证的支持 六.切换到Hybrid Flow并添加API访问权限 ...

  8. 洛谷.4115.Qtree4/BZOJ.1095.[ZJOI2007]Hide捉迷藏(动态点分治 Heap)

    题目链接 洛谷 SPOJ BZOJ1095(简化版) 将每次Solve的重心root连起来,会形成一个深度为logn的树,就叫它点分树吧.. 我们对每个root维护两个东西: 它管辖的子树中所有白点到 ...

  9. 大文件拆分方案的java实践(附源码)

    引子 大文件拆分问题涉及到io处理.并发编程.生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借 ...

  10. Android跨进程通信:图文详解 Binder机制 原理

    binder原理讲的很详细 https://blog.csdn.net/carson_ho/article/details/73560642