首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么由Python创建的MD5散列与在shell中使用echo和md5sum创建的散列不同?

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

Stack Overflow用户
提问于 2011-04-17 19:54:05
回答 1查看 10.1K关注 0票数 110

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

代码语言:javascript
复制
>>> import hashlib
>>> h = hashlib.md5()
>>> h.update("mystringforhash")
>>> print h.hexdigest()
86b6423cb6d211734fc7d81bbc5e11d3 # Result from Python


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

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-17 19:55:03

echo会附加一个\n,因为您通常不希望shell中的行不以换行符结尾(如果提示符不是从最左边开始,它看起来会很难看)。

使用-n参数省略尾部换行符,它将打印与您的python脚本相同的校验和:

代码语言:javascript
复制
> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3  -
票数 200
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5693360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档