我想找到字符串“a”的 md5 哈希值,但是运行echo "a" | md5sum
给了我另一个哈希值,而不是我在互联网上搜索时得到的哈希值(例如使用鸭鸭Go或者我找到的第一个搜索结果)。
运行echo "a" | md5sum
给我“60b725f10c9c85c70d97880dfe8191b3”,但它应该是“0cc175b9c0f1b6a831c399e269772661”。
如果我对“60b725f10c9c85c70d97880dfe8191b3”进行反向哈希查找,我会得到“a”。
答案1
哈希值不同的原因是echo
在输出字符串的末尾包含一个换行符以使其美观。这可以通过-n
标志(如果您的实现echo
支持它)或使用另一个程序(例如printf
)来禁止:
> echo "a" | md5sum
60b725f10c9c85c70d97880dfe8191b3 -
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661 -
> printf "a" | md5sum
0cc175b9c0f1b6a831c399e269772661 -