我想找到字符串“ a”的md5哈希,但是运行时echo "a" | md5sum
给了我另一个比我在互联网上搜索到的哈希(例如,使用DuckDuckGo或我发现的第一个搜索结果)。
跑步echo "a" | md5sum
给我“ 60b725f10c9c85c70d97880dfe8191b3”,但应为“ 0cc175b9c0f1b6a831c399e269772661”。
如果我对“ 60b725f10c9c85c70d97880dfe8191b3”进行反向哈希查找,则得到“ a”。
我想找到字符串“ a”的md5哈希,但是运行时echo "a" | md5sum
给了我另一个比我在互联网上搜索到的哈希(例如,使用DuckDuckGo或我发现的第一个搜索结果)。
跑步echo "a" | md5sum
给我“ 60b725f10c9c85c70d97880dfe8191b3”,但应为“ 0cc175b9c0f1b6a831c399e269772661”。
如果我对“ 60b725f10c9c85c70d97880dfe8191b3”进行反向哈希查找,则得到“ a”。
Answers:
哈希值不同的原因是echo
在输出字符串的末尾包含一个换行符以使其漂亮。可以通过-n
标志(如果您的实现echo
支持它)或使用其他程序(例如printf
)来禁止它:
> echo "a" | md5sum
60b725f10c9c85c70d97880dfe8191b3 -
> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661 -
> printf "a" | md5sum
0cc175b9c0f1b6a831c399e269772661 -
printf text
使文本显示在下一个提示行的前面。
echo
在输出中添加换行符以使其成为完整行,而不是使其漂亮。