Python hashlib Checksum与linux md5sum不同

我正在尝试使用python的hashlib模块来计算string“test”的校验和。 我正在使用python3。

In [31]: hobj = hashlib.new('md5') In [32]: hobj.update('test'.encode("UTF-8")) In [33]: hobj.hexdigest() Out[33]: '098f6bcd4621d373cade4e832627b4f6' 

但是,当我尝试与linux md5sum相同的校验和是完全不同于hashlib的输出。

 $ echo 'test' | md5sum d8e8fca2dc0f896fd7cb4cb0031ba249 - 

我的Python代码有什么问题吗?

改用echo -n 'test'echo会输出换行符(“test \ n”),否则会输出换行符。

 $ echo -n 'test' | md5sum 098f6bcd4621d373cade4e832627b4f6 -