OS X md5 和 gnu md5sum 之间的区别

信息安全 哈希 苹果系统 md5
2021-08-23 04:33:53

我已经在我的 Mac 上安装了“md5sum”实用程序,并且在 /sbin 中还预装了一个“md5”二进制文件。
我的问题和疑问是:“MD5 不是标准算法吗?”
因为我使用这些实用程序为字符串获得了不同的哈希值这些实用
程序的实现有什么不同吗?例子:

Mehdi-MacBook-Pro:~ mehdi$ md5 -s Hello
MD5 ("Hello") = 8b1a9953c4611296a827abf8c47804d7

Mehdi-MacBook-Pro:~ mehdi$ echo Hello | md5sum
09f7e02f1290be211da707a266f153b3  -
2个回答

默认情况下,echo 会留下一个尾随换行符。所以你需要这样做:

echo -n Hello | md5sum

8b1a9953c4611296a827abf8c47804d7

考虑一下:

$ echo Hello | md5sum 
09f7e02f1290be211da707a266f153b3  -
$ echo -n Hello | md5sum
8b1a9953c4611296a827abf8c47804d7  -

在第一种情况下,您对 'H'、'e'、'l'、'l'、'o' 和换行符 (0x0A)散列六个字节。在第二个中,您不包含换行符,它模仿 OS Xmd5实用程序对参数的作用-s