md5sum输出和Python hashlib输出有什么区别?

时间:2018-05-25 16:11:26

标签: python bash md5 gravatar

为什么hashlib.md5().hexdigest()的输出与md5sumopenssl的输出不同?

$ echo "test string" | md5sum
f299060e0383392ebeac64b714eca7e3  -
$ echo "test string" | openssl dgst -md5
(stdin)= f299060e0383392ebeac64b714eca7e3
$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from hashlib import md5
>>> print(md5("test string").hexdigest())
6f8db599de986fab7a21625b7916589c

我在尝试生成与Gravatar一起使用的md5摘要时注意到了这一点。 Python hashlib输出有效,但md5sumopenssl输出不起作用。

1 个答案:

答案 0 :(得分:8)

echo默认添加隐式换行符。

$ echo -n "test string" | openssl dgst -md5
(stdin)= 6f8db599de986fab7a21625b7916589c