.net实现对字符串MD5加密解密


  • usingSystem;
  • usingSystem.Collections.Generic;
  • usingSystem.Linq;
  • usingSystem.Text;
  • usingSystem.IO;
  • usingSystem.Security.Cryptography;
  • namespaceBLL
  • {
  • publicclassmd5Manger
  • {
  • #regionMD5加密
  • ///<summary>
  • ///MD5加密
  • ///</summary>
  • ///<paramname="strSource">需要加密的字符串</param>
  • ///<returns>MD5加密后的字符串</returns>
  • publicstaticstringMd5Encrypt(stringstrSource)
  • {
  • //把字符串放到byte数组中
  • byte[]bytIn=System.Text.Encoding.Default.GetBytes(strSource);
  • //建立加密对象的密钥和偏移量
  • byte[]iv={102,16,93,156,78,4,218,32};//定义偏移量
  • byte[]key={55,103,246,79,36,99,167,3};//定义密钥
  • //实例DES加密类
  • DESCryptoServiceProvidermobjCryptoService=newDESCryptoServiceProvider();
  • mobjCryptoService.Key=iv;
  • mobjCryptoService.IV=key;
  • ICryptoTransformencrypto=mobjCryptoService.CreateEncryptor();
  • //实例MemoryStream流加密密文件
  • System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
  • CryptoStreamcs=newCryptoStream(ms,encrypto,CryptoStreamMode.Write);
  • cs.Write(bytIn,0,bytIn.Length);
  • cs.FlushFinalBlock();
  • returnSystem.Convert.ToBase64String(ms.ToArray());
  • }
  • #endregion
  • #regionMD5解密
  • ///<summary>
  • ///MD5解密
  • ///</summary>
  • ///<paramname="Source">需要解密的字符串</param>
  • ///<returns>MD5解密后的字符串</returns>
  • publicstaticstringMd5Decrypt(stringSource)
  • {
  • //将解密字符串转换成字节数组
  • byte[]bytIn=System.Convert.FromBase64String(Source);
  • //给出解密的密钥和偏移量,密钥和偏移量必须与加密时的密钥和偏移量相同
  • byte[]iv={102,16,93,156,78,4,218,32};//定义偏移量
  • byte[]key={55,103,246,79,36,99,167,3};//定义密钥
  • DESCryptoServiceProvidermobjCryptoService=newDESCryptoServiceProvider();
  • mobjCryptoService.Key=iv;
  • mobjCryptoService.IV=key;
  • //实例流进行解密
  • System.IO.MemoryStreamms=newSystem.IO.MemoryStream(bytIn,0,bytIn.Length);
  • ICryptoTransformencrypto=mobjCryptoService.CreateDecryptor();
  • CryptoStreamcs=newCryptoStream(ms,encrypto,CryptoStreamMode.Read);
  • StreamReaderstrd=newStreamReader(cs,Encoding.Default);
  • returnstrd.ReadToEnd();
  • }
  • #endregion
  • }
  • }
  • 优质内容筛选与推荐>>
    1、Mac 下搭建vue开发环境
    2、java多线程系列(四)---ReentrantLock的使用
    3、提问的智慧
    4、HTML5中Access-Control-Allow-Origin解决跨域问题
    5、比較好的一份面试题


    长按二维码向我转账

    受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

      阅读
      好看
      已推荐到看一看
      你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
      已取消,“好看”想法已同步删除
      已推荐到看一看 和朋友分享想法
      最多200字,当前共 发送

      已发送

      朋友将在看一看看到

      确定
      分享你的想法...
      取消

      分享想法到看一看

      确定
      最多200字,当前共

      发送中

      网络异常,请稍后重试

      微信扫一扫
      关注该公众号