加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MD5哈希算法在服务器上不同

发布时间:2020-12-16 05:47:14 所属栏目:百科 来源:网络整理
导读:我正在运行一些我在C中编写的代码,它从另一个人写的哈希库中调用md5哈希功能(md5.c md5.h).我所看到的奇怪的行为是: 哈希工作完美=我哈希一个字符串,它出来的确切的哈希,我已经验证了与其他多个来源. 哈希功能起作用 完美地编译和运行 在我的OSX机器和哈希
我正在运行一些我在C中编写的代码,它从另一个人写的哈希库中调用md5哈希功能(md5.c& md5.h).我所看到的奇怪的行为是:

哈希工作完美=我哈希一个字符串,它出来的确切的哈希,我已经验证了与其他多个来源.

>哈希功能起作用
完美地编译和运行
在我的OSX机器和哈希
计算完全一样
是.
>相同的代码,没有更改上传
并在Linux上编译
服务器,它计算不同
(错误)哈希.

有没有人有什么洞察到这将是可能的?过去一周,它一直在疯狂,我不明白为什么这是甚至可能的.我也在另一台机器上进行了测试,编译和执行,并且工作完美.它只是当我上传到服务器,哈希不再正确.

哈希功能文件可以在以下位置找到:
http://people.csail.mit.edu/rivest/Md5.c

解决:谢谢大家
这是64位的arch问题.它的强大的烦人,这让我想起了在调试时…….

解决方法

尝试替换(Md5.c第41行)

typedef unsigned long int UINT4;

通过

typedef uint32_t UINT4;

(如果需要,包括stdint.h)

在64位机器上,长整型(通常)为64位,而不是32位

编辑:

我尝试了一个64位的opteron这解决了这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读