登录
首页 » C# » C# 实现 MD5加密解密算法

C# 实现 MD5加密解密算法

于 2013-11-13 发布
0 109
下载积分: 1 下载次数: 0

代码说明:

using System.Security.Cryptography;using    System.IO;  using    System.Text; ///MD5加密  public 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 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());      }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论


0 个回复

  • MVC多开发示例
    环境:vs2012 asp.net mvc4.实现方式:resource 资源文件,根据路由规则中Lang参数来判断载入哪种语言方式
    2015-06-16下载
    积分:1
  • asp.net实时向客户端推送消息(SignalRWeb)
    ASP.net中服务器端向客户端推送消息,多用于在线聊天
    2015-10-21下载
    积分:1
  • 模仿QQ播放器的简单音乐播放器
    可以从网易云音乐读取音乐,添加本地音乐等
    2016-05-11下载
    积分:1
  • AXI总线中文详解.doc
    【实例简介】
    2021-05-18 10:33:50下载
    积分:1
  • 折线图波形图绘制(动态绘制,实时变化)
    折线图波形图绘制(动态绘制,实时变化)
    2019-05-22下载
    积分:1
  • C# 6.0 and the .NET 4.6 Framework(7th).pdf
    C#学习PDF
    2020-12-06下载
    积分:1
  • Paway.Windows.Forms 仿qq登入页面+右下角消息提示
    Paway.Windows.Forms 仿qq登入页面+右下角消息提示
    2014-04-18下载
    积分:1
  • 用WinForm写的简单记事本
        实现了记事本基本的功能, 供大家学习
    2014-11-21下载
    积分:1
  • C程序设计(课件+程序代码+大纲+习题答案)
    【实例简介】
    2021-08-16 00:30:57下载
    积分:1
  • c# 超级按键模拟键盘按键 实例源码下载
    InitSuperKeys() 安装WINIO驱动,一般用于Form_Load事件中调用CloseSuperKeys() 卸载WINIO驱动,一般用于Form_Closed事件中调用KeyDown(Key) 模拟普通Key键按下。KeyDownEx(Key)模拟扩展Key键按下。KeyUp(Key)模拟普通Key键弹起。KeyUpEx(Key)模拟扩展Key键弹起。KeyPress(Key)模拟普通Key键按下并弹起一次。其中按下和弹起的默认时间间隔是200毫秒KeyPress(Key,Int32)模拟普通Key键按下并弹起一次。其中按下和弹起的时间间隔是第二个参数,单位为毫秒。KeyPressEx(Key)模拟扩展按键Key按下并弹起一次。其中按下和弹起的默认时间间隔是200毫秒,写入扩展按键信息间隔时间为100毫秒KeyPressEx(Key,Int32)模拟扩展按键Key按下并弹起一次。其中按下和弹起的时间间隔是第二个参数,单位为毫秒,写入扩展按键信息间隔时间为100毫秒。KeyPressEx(Key,Int32,Int32)模拟扩展按键Key按下并弹起一次。其中按下和弹起的时间间隔是第二个参数,单位为毫秒,写入扩展按键信息间隔时间是第三个参数,单位为毫秒。特别说明:1、 在执行模拟按键之前必须先执行InitSuperKeys()进行驱动的安装,在窗体关闭之后最好可以卸载驱动。2、 以上方法中的参数Key为我在WinIoSys类中定义的一个枚举,并非DONET系统的Key枚举。3、 普通Key是指A,B,C,Space这种标准键盘按键。而扩展按键是指“方向键”等特殊按键,系统在处理这种扩展键的时候会先有一个写扩展按键信息的时间。因此没有Ex结尾的方法都是用于标准普通按键的,有Ex结尾的方法是用于特殊的扩展按键的。其中他们都有重载,用户可以自己设置间隔时间。至于按键详细分类,请自己上Google搜索。4、 模拟一次按键事件后,一定要让程序Sleep一些毫秒,否则下一个按键是无法正常模拟出的。5、 貌似USB走的是总线,和端口操作无关,因此该方法理论上不支持USB接口的键盘。由于大多数鼠标都是USB接口的。6、 部分杀毒软件会提醒用户安装驱动,或者将WinIo.sys报为病毒,其实这是正常现象。
    2015-03-17下载
    积分:1
  • 696518资源总数
  • 104530会员总数
  • 46今日下载