我正在尝试在我的 linux 机器上运行 md5 源代码。我从这里得到了代码:https ://www.rfc-editor.org/rfc/rfc1321 。
在链接的底部,它声称 MD5 测试套件的输出应如下所示:
MD5 test suite:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a
在我的 md5 文件夹中,我有以下内容:
global.h
md5c.c
md5.h
mddriver.c
当我一开始尝试编译时,它在 mddriver.c 中抛出一个错误,说“第 20 行 MD5 未定义”(或类似的东西),所以我将第 20 行从“#define MD MD5”更改为“#define MD 5”。考虑到其余的代码,这可行并且似乎很有意义。
我在 MD5 文件夹中使用以下内容进行编译:
gcc -Wall *.c -o out
这创建了我可以使用的文件“out”
./out -x
其中参数“-x”用于运行测试套件。但是,我得到了“./out -x”的以下输出:
MD5 test suite:
MD5 ("") = e4c23762ed2823a27e62a64b95c024e7
MD5 ("a") = 793a9bc07e209b286fa416d6ee29a85d
MD5 ("abc") = 7999dc75e8da648c6727e137c5b77803
MD5 ("message digest") = 840793371ec58a6cc84896a5153095de
MD5 ("abcdefghijklmnopqrstuvwxyz") = 98ef94f1f01ac7b91918c6747fdebd96
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = dabcd637cde443764c4f8aa099cf23be
MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e29c01a1e2a663c26b4a68bf7ec42df7
这显然不一样。我错过了什么吗?如果您希望我重新创建“MD5 未声明”错误,请告诉我。谢谢。