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

前端之家收集整理的这篇文章主要介绍了MD5哈希算法在服务器上不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在运行一些我在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这解决了这个问题.

猜你在找的C&C++相关文章