md5sum函数在同一个字符串中返回不同的值 在这种情况下
>echo -n Bob | md5sum
2fc1c0beb992cd7096975cfebf9d5c3b
但在另一个案例中。
>md5sum <<< Bob
a2eae7400008e77790c3272f754a14db
这里发生了什么?一些建议?
答案 0 :(得分:1)
实际上,您的示例中的输出相同。然而,
从第一个示例中删除选项-n
:
echo Bob | md5sum
答案 1 :(得分:1)
here字符串包含一个隐式换行符(十六进制为0x0a
)。比较
$ echo -n Bob | hexdump
0000000 42 6f 62
0000003
与
$ hexdump <<< "Bob"
0000000 42 6f 62 0a
0000004
您实际上是为两个不同的字符串计算MD5校验和,因此输出的差异。如果您不从echo
的输出中取消换行符,则会得到与此字符串相同的结果:
$ echo Bob | md5
a2eae7400008e77790c3272f754a14db