Unix的md5和Python的hashlib.md5有何不同?
我在Mac的终端里运行了 echo lol | md5
,结果返回了:59bcc3ad6775562f845953cf01624225
但是我在Python 2.7里运行 print hashlib.md5("lol").hexdigest()
,得到的是:9cdfb439c7876e703e307864c9167a15
我哪里出错了?
1 个回答
10
echo
命令默认会在最后加一个换行符,所以它生成的哈希值会不同。
在 Python 中,带有换行符的结尾
>>> print hashlib.md5("lol\n").hexdigest()
59bcc3ad6775562f845953cf01624225
标准的 echo 命令,省略了换行符的结尾。
$ echo -n lol | md5sum -
9cdfb439c7876e703e307864c9167a15 -