gpt4 book ai didi

python - 为什么 Python 创建的 MD5 散列与 shell 中使用 echo 和 md5sum 创建的散列不同?

转载 作者:IT老高 更新时间:2023-10-28 21:06:56 24 4
gpt4 key购买 nike

Python MD5 散列不同于 shell 上的 md5sum 命令创建的散列。为什么?

>>> import hashlib
>>> h = hashlib.md5()
>>> h.update("mystringforhash")
>>> print h.hexdigest()
86b6423cb6d211734fc7d81bbc5e11d3 # Result from Python


$ echo mystringforhash | md5sum
686687dd68c5de717b34569dbfb8d3c3 - # Result on the shell

最佳答案

echo 附加一个 \n 因为你通常不希望在你的 shell 中没有以换行符结尾的行(如果提示不是从最左边)。
使用 -n 参数省略尾随换行符,它将打印与 python 脚本相同的校验和:

> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3 -

关于python - 为什么 Python 创建的 MD5 散列与 shell 中使用 echo 和 md5sum 创建的散列不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com