Unix md5与python的hashlib.md5不同吗?

p99*_*ill 2 python unix hash md5 hashlib

echo lol | md5在Mac终端上运行它返回: 59bcc3ad6775562f845953cf01624225

但后来我print hashlib.md5("lol").hexdigest()在python 2.7中运行,我得到: 9cdfb439c7876e703e307864c9167a15

我究竟做错了什么?

met*_*ter 10

echo 默认情况下会在最后添加换行符,因此它会提供不同的散列值.

在python中,换行符结束

>>> print hashlib.md5("lol\n").hexdigest()
59bcc3ad6775562f845953cf01624225
Run Code Online (Sandbox Code Playgroud)

标准echo命令,省略换行符结束.

$ echo -n lol | md5sum -
9cdfb439c7876e703e307864c9167a15  -
Run Code Online (Sandbox Code Playgroud)