1 添加一个帮助类,其中包含Key,加密方法,解密方法

public class Keys{private static string DESKey = "key";#region ========加密========/// <summary>/// 加密/// </summary>/// <param name="Text"></param>/// <returns></returns>public static string Encrypt(string Text){return Encrypt(Text, DESKey);}/// <summary> /// 加密数据 /// </summary> /// <param name="Text"></param> /// <param name="sKey"></param> /// <returns></returns> public static string Encrypt(string Text, string sKey){DESCryptoServiceProvider des = new DESCryptoServiceProvider();byte[] inputByteArray;inputByteArray = Encoding.Default.GetBytes(Text);System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();des.Key = ASCIIEncoding.ASCII.GetBytes(BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(sKey + "md5"))).Replace("-", null).Substring(0, 8));des.IV = ASCIIEncoding.ASCII.GetBytes(BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(sKey + "md5"))).Replace("-", null).Substring(0, 8));System.IO.MemoryStream ms = new System.IO.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);}return ret.ToString();}public static string Decrypt(string Text){if (!string.IsNullOrEmpty(Text)){string res= Decrypt(Text, DESKey);return res;}else{return "";}}/// <summary> /// 解密数据 /// </summary> /// <param name="Text"></param> /// <param name="sKey"></param> /// <returns></returns> public static string Decrypt(string Text, string sKey){DESCryptoServiceProvider des = new DESCryptoServiceProvider();int len;len = Text.Length / 2;byte[] inputByteArray = new byte[len];int x, i;for (x = 0; x < len; x++){i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);inputByteArray[x] = (byte)i;}System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();des.Key = ASCIIEncoding.ASCII.GetBytes(BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(sKey + "md5"))).Replace("-", null).Substring(0, 8));des.IV = ASCIIEncoding.ASCII.GetBytes(BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(sKey + "md5"))).Replace("-", null).Substring(0, 8));System.IO.MemoryStream ms = new System.IO.MemoryStream();CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);cs.Write(inputByteArray, 0, inputByteArray.Length);cs.FlushFinalBlock();return Encoding.Default.GetString(ms.ToArray());}#endregion}

C#中 MD5加密,解密相关推荐

  1. oracle中md5加密解密_Oracle定义DES加密解密及MD5加密函数示例

    (1)DES加密函数 create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 i ...

  2. java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法

    java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...

  3. Java实现MD5加密解密类

    Java实现MD5加密以及解密类,附带测试类,具体见代码. MD5加密解密类--MyMD5Util,代码如下: [java] view plaincopy package com.zyg.securi ...

  4. C#常用加密解密方法(MD5加密解密)

    在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...

  5. python破解md5_python怎么使用md5加密解密

    python采用hashlib这个标准库实现MD5加密解密.方法是:1.updata传数据:2.利用hexdigest进行16进制转换: update(arg)传入arg对象来更新hash的对象.必须 ...

  6. 如何使用MD5加密解密工具?

    MD5加密解密工具是用于计算MD5消息摘要的工具,可以将文本.密码等数据进行加密处理以保护数据安全. 使用MD5加密解密工具通常需要输入待加密的字符串或文件,程序会自动通过预设的算法计算出与此字符串对 ...

  7. 还愁不能解密MD5值?简单代码就能实现md5加密解密,内附源码,亲测可用

    众所周知,md5本身是不可逆的,但我们可以使用以下代码中提供的接口进行解密啊!我试了下成功率是非常的高!8位以内的纯数字的md5值都可以解密. php代码 <?php $MiWen = &quo ...

  8. MD5加密解密是什么?它有什么用途?

    MD5的全程是Message-Digest Algorithm 5,在理论上,MD5是一种单向的哈希散列.通俗一点来说,MD5其实就是对我们需要的数据.文字信息进行加密解密的一种散列算法,跟暗号相似但 ...

  9. RSA、MD5加密解密算法全套解析安装教程

    第一部分介绍加密解密算法, 第二部分介绍我小组成功应用的RSA.MD5两种加密解密算法,以及心得体会. 1.加密解密算法介绍 应用的开发中安全很重要,所以信息加密技术显得尤为重要.我们需要对应用中的多 ...

  10. C#开发中关于加密解密字符串的使用方法

    C#开发中关于加密解密字符串的使用方法 C#加密解密字符串方法 首先在web.config | app.config 文件下增加如下代码: <?xml version="1.0&quo ...

最新文章

  1. mac终端python不能显示中文_Matplotlib为Mac显示中文,ForMac
  2. Linxu用户登录监测
  3. helm部署SkyWalking
  4. 【若依(ruoyi)】字典管理
  5. find命令的xargs参数的使用---Linux学习笔记
  6. abaqus生成adams柔性体_基于ADAMS 的大型反铲挖泥机加装破碎锤 结构动力学分析
  7. 在大公司天天调参数,感觉快废了~
  8. OEA 2.11 支持单机版数据库 - SQLite与SQLCE对比
  9. 【BZOJ1179】atm,tarjan缩点+最长路径
  10. I2C总线时序模拟(二)-加深理解总线协议
  11. Android之——自己定义TextView
  12. Android应用内存泄漏的定位、分析与解决策略 1
  13. 开源demo| 视频应用类开源 Demo 大盘点
  14. Java、JSP在线问卷调查系统
  15. 基于AVL-CRUISE 2014电动汽车建模与仿真之建模(一)
  16. 移动硬盘格式化了,要怎么恢复数据
  17. ffmpeg 用于转换视频格式的各种命令行
  18. Java基础面试题(持续更新...)
  19. 微信公众号及微信支付签名算法
  20. 日期转换(正推与倒推)

热门文章

  1. PCI配置空间(PCI Configuration Space)
  2. c语言 mysql触发器_数据库触发器 @符号
  3. 走在边缘地带上的百度,还是差了那么一点!
  4. 怎么学php代码审计,记一次简单的php代码审计
  5. springboot项目接入短信
  6. 【BigHereo 37】---L10---C++真题之 代码填空
  7. Batch Normalization详细解读
  8. GN及Ninja基本语法
  9. js es6使用数组的every方法遇到的问题
  10. matplotlib学习笔记