为什么会出现这种MD5算法返回什么似乎是一个内存位置,而不是一个哈希? [关闭]

问题描述 投票:-1回答:1

我试图环绕布拉德·康特MD5算法我的头。

你可以在这里得到它:https://github.com/B-Con/crypto-algorithms(md5.c,md5.h,md5_test.c)

这里生成哈希的还一个例子:http://bradconte.com/files/projects/code/md5_example.c

这个例子说,它应该打印散列:

d41d8cd98f00b204e9800998ecf8427e
900150983cd24fb0d6963f7d28e17f72
d174ab98d277d9f5a5611c2c9f419d9f

但对我来说它打印:

ffffffd41dffffff8cffffffd9ffffff8f00ffffffb204ffffffe9ffffff8009ffffff98ffffffe    cfffffff8427e
ffffff900150ffffff983cffffffd24fffffffb0ffffffd6ffffff963f7d28ffffffe17f72
ffffffd174ffffffabffffff98ffffffd277ffffffd9fffffff5ffffffa5611c2cffffff9f41ffffff9dffffff9f

这些似乎是内存地址,而不是散列给我吗?

我是新的C和MD5,所以我可能做错了什么 - 但我觉得奇怪的是,例如不打印什么的描述说,它应该。

会有人在意检查了这一点?

c hash md5
1个回答
3
投票

printf一个char转换为int。结果取决于char是否签署或没有(因此获得符号扩展你的情况)。

您确定要使用加密包,可在这样的错误?

© www.soinside.com 2019 - 2024. All rights reserved.