我试图环绕布拉德·康特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,所以我可能做错了什么 - 但我觉得奇怪的是,例如不打印什么的描述说,它应该。
会有人在意检查了这一点?
该printf
一个char
转换为int
。结果取决于char
是否签署或没有(因此获得符号扩展你的情况)。
您确定要使用加密包,可在这样的错误?