博客园首页博问闪存新随笔联系订阅管理 随笔- 252 文章- 0 评论- 45 HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法...
今天在开发一个软件时,同时在B/S版和C/S版中都要用到MD5加密,在
ASP.NET中使用的是
/** <summary>
/// 取得MD5加密串
/// </summary>
/// <param name="input">源明文字符串</param>
/// <returns>密文字符串</returns>
public static string GetMD5Hash(string input)
...{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strOriginal, "MD5");
}
的加密方式;
而在WinForm中用的是
/** <summary>
/// 取得MD5加密串
/// </summary>
/// <param name="input">源明文字符串</param>
/// <returns>密文字符串</returns>
public static string GetMD5Hash(string input)
...{
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.Default.GetBytes(input);
bs = md5.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
...{
s.Append(b.ToString("x2").ToUpper());
}
string password = s.ToString();
return password;
}
但发现同样一个字符串,两种方式得出的密文是不一样的,最后才发现原来是编码方式导致的,ASP.NET里默认的是UTF-8编码,把WinForm程序里的System.Text.Encoding.Default.GetBytes(input);替换成System.Text.Encoding.UTF8.GetBytes(input);即可
最终正确版:
/** <summary>
/// 取得MD5加密串
/// </summary>
/// <param name="input">源明文字符串</param>
/// <returns>密文字符串</returns>
public static string GetMD5Hash(string input)
...{
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
bs = md5.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
...{
s.Append(b.ToString("x2").ToUpper());
}
string password = s.ToString();
return password;
}
博客园首页博问闪存新随笔联系订阅管理 随笔- 252 文章- 0 评论- 45 HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法...相关推荐
- [原创].图解一招搞定UCWEB@Nokia S60v5无法在博客园手机版发闪存的问题
注:本文仅作用于博客园手机版,请其他网站不要转载,谢谢合作. 症状 自从换了Nokia五版的手机,就没有在博客园手机版成功发过闪存及博文.每当我登录博客园手机版,我点击闪一下,杯具就出现了,不停地提示 ...
- Python爬虫入门教程:博客园首页推荐博客排行的秘密
1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首 ...
- python教程是用什么博客写的-Python爬虫入门教程:博客园首页推荐博客排行的秘密...
1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首 ...
- 推荐一部python教程_Python爬虫入门教程:博客园首页推荐博客排行的秘密
1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首 ...
- (转)利用快速开发框架,快速搭建微信浏览博客园首页文章
原文地址:http://www.cnblogs.com/inday/p/weixin-publicf-platform-cnblogs.html 这几天接连发布了<快速开发微信公众平台框架--- ...
- 热烈欢呼:cnblogs.com博客园首页通过W3C验证
今天上来博客园首页,html validator显示"0错误/0警告",通过了W3C语法验证. 不敢相信,用http://validator.w3.org又测了一下,是真的-- 太 ...
- .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱
前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...
- preg使用。还是一样,只是个人记录,不放博客园首页
管理员要是看到该文章放到博客园首页了,还请麻烦给移除. 因为这只是个人的笔记,没有细入去研究 1 <?php 2 header("content-Type:text/html; cha ...
- 【Python3 爬虫】13_爬取博客园首页所有文章
首先,我们确定博客园首页地址为:https://www.cnblogs.com/ 我们打开可以看到有各种各样的文章在首页,如下图: 我们以上图标记的文章为例子吧!打开网页源码,搜索Docker,搜索结 ...
最新文章
- SAP QM 如何在SAP系统里审批挂在Quality Notification里的document?
- JavaWeb:MVC设计模式
- 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!
- 如何打造一个让粉丝一见就能收钱的朋友圈
- 折纸机器人的步骤图解_简单折纸:折叠小吉普车(步骤图解)
- 解决U盘写保护,成功擦除
- mysql通过视图插入数据_数据库视图 sql
- linux~tar压缩文件夹到指定文件夹 --- 相对路径
- 回溯法求解图着色问题
- 行存储(Row-Based)和列存储(Column-Based)
- 共筑未来 | 思腾合力加入光合组织,完成国产信创兼容适配
- scratch四级考纲
- 怎样在服务器上设置无线上网,设置无线路由器步骤 电信无线路由器的设置方法...
- 华为m2青春版android7,时尚新体验:华为M2青春版
- 微信小程序picker组件 - 省市二级联动
- 钢铁行业关键业务系统介绍
- Apifox 生成接口文档 教程与操作步骤
- linux 怎么查看usb设备端口号,嵌入式Linux USB设备检测端口和地址
- 【机器学习】预测偏差与其原因
- lazada发货_lazada的物流发货方式详解!
热门文章
- QT的QDesignerWidgetBoxInterface类的使用
- QT的QAssociativeIterable类的使用
- C语言三种常见排序算法
- php 判断接受邮件地址,PHP:电子邮件验证并接受来自特定域的电子邮件地址
- Pandas及简单学习
- 计算机核心配件是什么,计算机的核心是什么
- amd为什么还用针脚_为什么intel处理器不用针脚,AMD还一直使用针脚呢?
- python3源代码_Python3源代码编译安装
- matlab 不同长度的向量放入一个矩阵,Matlab:将不同长度的行叠加到矩阵上
- 目标检测方法系列——R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD