MD5的简单用法
非常简单的MD5加密和解密(即用即copy)
点击帮助灯泡引用就可使用
//生成MD5帮助文件文件
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"/>
最新文章
- Nginx 服务器 之Nginx与tomcat实现负载均衡
- ProxyPattern
- 【Hadoop】HDFS的运行原理
- 如何观察JS的事件队列的执行划分
- SPOJ #10657. LOGIC (riddle)
- [JS]Javascript的this用法
- Codevs 1097 校门外的树
- NGUI自适应分辨率,黑边自动填充, 无黑边,等比例缩放
- 使用Druid作为数据源
- 【网络流#4】UVA 753 最大流
- C# Excel或表格插件
- bzoj2096[Poi2010]Pilots 单调队列
- mysql8.0.13修改密码
- 计算机网络学习-20180901-TCP/IP协议的五大分层
- SpringBoot Controller 中 HttpServletRequest ServletInputStream 读取不到数据该怎么处理
- 修正mui的上拉加载和下拉刷新的一次未完成就执行下一次的请求
- POJ2376 Cleaning Shifts
- Tomcat8.5配置https启动报空指针错误
- 『TensorFlow』第十弹_队列&;多线程_道路多坎坷
- 在chrome开发者工具中观察函数调用栈、作用域链、闭包
热门文章
- 利用docker在window7下安装TensorFlow
- QTableWidget和 QTableView翻页效果(准确计算Scroll,然后使用setSliderPosition函数)
- 更改当前电源策略(使用SetActivePwrScheme API函数),自定义电源按钮动作(设置GLOBAL_POWER_POLICY)
- uniConnection断线重联(tag属性颇有深意,这样就可以在某些情况下,不用继承实现新控件就可以达到自己的目的)
- ThoughtWorks 面试备忘录
- 在 Windows 中编译 Github 中的 GO 项目
- python bmp image injection
- Neo4j 爬坑笔记for3.2.6
- 为什么现在这么多人开始学习Python?
- Python解释器安装教程以及环境变量配置