[英]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.