MD5函数如下:
public string MD5(string strIn)
{
MD5 MD5 = new MD5CryptoServiceProvider();
byte[] datSource = System.Text.Encoding.Default.GetBytes(strIn);
byte[] tmpByte = MD5.ComputeHash(datSource); //ComputeHash后结果不同。
string byte2String = ConvertByte2String(tmpByte);
return byte2String;
}2个不同程序,输入相同的字符串,但结果不同。调试时发现ComputeHash后,tmpByte的值不同。
public string MD5(string strIn)
{
MD5 MD5 = new MD5CryptoServiceProvider();
byte[] datSource = System.Text.Encoding.Default.GetBytes(strIn);
byte[] tmpByte = MD5.ComputeHash(datSource); //ComputeHash后结果不同。
string byte2String = ConvertByte2String(tmpByte);
return byte2String;
}2个不同程序,输入相同的字符串,但结果不同。调试时发现ComputeHash后,tmpByte的值不同。
解决方案 »
- 未能加载文件或程序集“System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken
- 怎样把数据写入已存在EXCEL表格的某行某列?
- 【求助】WMI的ASSOCIATORS OF 如何在C#下的使用.
- 一个恶心的面试题....
- Viewstate 保存查询状态
- 初学者,关于C#写的程序如何在没安装数据库的电脑上存东西
- 急!!!在.net中怎样把一个Image存入数据库中
- asp.net 动态复制表格内容,形成一个新的表格
- winform如何让一个textbox只能输入数字和字母
- 那位能告诉我vss的最新版本是什么?
- 在gridControl1中怎样显示合计那一行
- 关于隐藏任务栏
.ComputeHash(datSource)
这个方法不知会受哪些因素的影响?
建议改成Encoding.Unicode或者Encoding.GetEncoding("GB2312");
-----------------
你做了编码转换...选择了默认ANSI编码...在不同语言的系统上得到的datSource不一定相同...
我是在同一操作系统上的。并且是对2个程序同时单步侦错,结果datSource的值 还是一样,但
byte[] tmpByte = MD5.ComputeHash(datSource);
//ComputeHash后tmpByte结果却不同了。因此有一个主程序调用MD5方法后的结果就是错误的,这个很不理解。2、
System.Text.Encoding.Default.GetBytes(strIn);
用默认的语言的确是会造成编码结果的不同,这个已经在不同平台测试过了。但文本文件是按默认语言编码的,如果进行MD5加密时,可以用UTF8吗?会生产错误吗?
产生的不同只可能是ComputeHash导致的,因为datSource的值还是一致的。
这个正是需要你帮忙解释的地方。
确实是datSource不同,生成的结果28和30位刚好调换过来了。但这2个程序都是在一台机器上运行的,传入的字符串也是一样的,哪些原因会导致不同呢?
谢谢。
顶顶帖子,高手们也请多多赐教
http://topic.csdn.net/u/20110913/13/59f92d11-1fb0-4b7e-9c4a-e93d8f19c689.html
http://topic.csdn.net/u/20110611/12/3258c959-4f28-46b7-b5d6-46135d73036b.html
http://topic.csdn.net/u/20110722/14/89f7440b-c4d7-4c9a-a4bb-a503f5135db2.html
http://topic.csdn.net/u/20110729/10/a7bfaf06-0cf9-4580-8e91-d4e0b92066c6.html
http://topic.csdn.net/u/20110811/16/e56e7cc1-d8c9-40af-92e3-c24ca103d17d.html
http://topic.csdn.net/u/20110830/13/dfae4ca5-d2b9-4889-8a3c-6f7fb61936c9.html
http://topic.csdn.net/u/20110905/12/a1161adb-8e5d-491a-b302-c9722edf2dab.html
http://topic.csdn.net/u/20110913/16/2dbcc9db-8f71-40c5-901f-afae9026f7c2.html
http://topic.csdn.net/u/20110913/13/59f92d11-1fb0-4b7e-9c4a-e93d8f19c689.html