繁体   English   中英

为什么Python创建的MD5哈希值与shell中使用echo和md5sum创建的哈希值不同?

[英]Why is an MD5 hash created by Python different from one created using echo and md5sum in the shell?

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  -

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM