C#字符串计算MD5算法:

/// <summary>
/// 计算MD5
/// </summary>
/// <param name="strDataIn">明文</param>
/// <returns>密文</returns>
public static string GetMD5(string strDataIn)
{MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();byte[] bytValue, bytHash;bytValue = Encoding.UTF8.GetBytes(strDataIn);bytHash = md5.ComputeHash(bytValue);md5.Clear();string strTemp = string.Empty;for (int i = 0; i < bytHash.Length; i++){strTemp += bytHash[i].ToString("X").PadLeft(2, '0');}return strTemp.ToLower();
}

正式发布使用这个MD5发现计算结果不一致,同事用我Release编译的版本和正式库发布版本计算结果不一样,很诡异,因为输入的字符串和算法都是一样的。开始处理这个问题,Log记录关键数值,修改字符串编码也没有用!也在网上看了好多文章,找了好多资料,最后任务管理器看到正式库发布版本是32位运行程序,我就觉得是这个问题了!结果我把正式库发布版本修改为64位,计算结果就没问题了!
我记录log发现问题就出在于下面这句代码:

bytHash = md5.ComputeHash(bytValue);

32位程序和64位程序计算出来的MD5值是不一样的,太坑了。。

C#计算MD5结果不一致相关推荐

  1. js计算出来的文件md5值跟java计算出来的不一致

    最近在项目中遇到了大文件分割上传问题,为了保证上传的文件的有效性需要确保分割的文件上传首先要成功,因此用到了md5加密,在js代码中上传文件之前将要上传的文件内容进行md5加密,然后作为其中一个参数传 ...

  2. Golang 计算MD5值示例

    Golang提供了"crypto/md5"包用来计算md5值,使用起来简单方便,解决了我长久以来的疑问^_^ 一种是直接调用md5计算 package mainimport (&q ...

  3. Linux快速计算MD5和Sha1命令

    Linux计算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法 ...

  4. Golang 计算MD5值

    Golang 计算MD5值 关键词:golang 计算 md5 文件 字符串 代码 //MD5 func Md5SmallFile(path string) (string, error) {file ...

  5. Python实现计算MD5

    本文章和我的博客同时发布:厉害博客 MD5 是 Message-Digest Algorithm5 的缩写,MD5 是一种信息摘要算法. 在平时的开发中可能要计算 MD5,可是自己写一个算法很麻烦,这 ...

  6. postman使用pre-request script计算md5

    接口加了验签逻辑,具体是md5(salt+时间戳).被某君吐槽说测试不方便啊能不能先关掉.其实没有必要打开又关闭验签功能,postman的pre-request script功能完全可以模拟客户端加密 ...

  7. 【python】并发实现文件下载并计算md5

    工作中的接口需要发送2个参数,url和md5,但是一般情况下md5都是将文件下载后再计算出来的.少量的话可以手动下载文件后,通过md5sum命令计算出来,如果有批量的url,手动计算就不太现实,所以考 ...

  8. java String计算MD5的三种方法以及文件计算MD5的方法

    MD5简介 MD5,Message Digest Algorithm 5,是一种被广泛使用的信息摘要算法,可以将给定的任意长度数据通过一定的算法计算得出一个128位二进制的散列值. 常见的表示方法是将 ...

  9. 转载 Sqlerver 计算 MD5

    2019独角兽企业重金招聘Python工程师标准>>> 在SQl2005下自带的函数hashbytes() ,此函数是微软在SQL SERVER 2005中提供的,可以用来计算一个字 ...

  10. java md5运算_java实现计算MD5

    importjava.io.FileInputStream;importjava.security.DigestInputStream;importjava.security.MessageDiges ...

最新文章

  1. django里static配置静态文件的引入
  2. Mac OS X Yosemite安装盘U盘制作
  3. 王吉伟:厉害了王坚的《在线》 未来世界还有什么不能被计算?
  4. 2014年工作中遇到的20个问题:120-140
  5. C++之undefined reference to “ssl::first::first()“
  6. 2022虎年背景全新UI头像框制作微信小程序源码
  7. 浅入浅出 Android 安全:第五章 Android 应用层安全
  8. 力扣 746 使用最小化花费爬楼梯
  9. 新发布GoldenGate 12c版本中的主要特性
  10. java二进制八进制十六进制写法,java 二进制,八进制,十进制,十六进制间相互转换的步骤...
  11. Charles 手机https抓包
  12. Windows桌面虚拟小猫Candy - From Neko
  13. 贪心算法(Greedy)
  14. python抓取谷歌指数(Google Trends)
  15. SKU与SPU的区别
  16. 对于SDL中colorkey的理解
  17. 《南茜的早晨》与《亡命鸡礼花》的dvd和原声音乐cd……大雅与大俗……Orz
  18. 2013年中华医院信息网络大会(郑州会议)资料汇总
  19. fms5序列号_CentOS下安装FMS5.0 互联网技术圈 互联网技术圈
  20. Window10 JDK8安装与配置详细步骤

热门文章

  1. 百度文库 复制文本 下载文档
  2. window下的批处理命令学习
  3. 鲸云效解读A/B测试,get这一篇就够了
  4. html鼠标自动点击代码,网上学习鼠标10分钟自动点击 按键精灵使用设置方法 脚本编辑...
  5. java学生成绩管理系统源码
  6. Motorola(摩托罗拉)比较不错的机子,直接秒杀诺基亚N8,不看看你会后悔的哦。。。...
  7. 计算机病毒与反病毒技术
  8. LAMP兄弟连PHP高薪就业班2012召集令
  9. fcntl函数的SET用法
  10. 一个大三学生对杨教授博文《关于基础,不得不说》的深入