111

Python MD5 ハッシュは、シェルで md5sum コマンドによって作成されたものとは異なります。なんで?

>>> import hashlib
>>> h = hashlib.md5()
>>> h.update("mystringforhash")
>>> print h.hexdigest()
86b6423cb6d211734fc7d81bbc5e11d3 # Result from Python


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

1 に答える 1

201

echo\n通常、シェルで行が改行で終わらないようにするため、 a を追加します (プロンプトが一番左から始まらないと、非常に見苦しく見えます)。
引数を使用し-nて末尾の改行を省略すると、Python スクリプトと同じチェックサムが出力されます。

> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3  -
于 2011-04-17T11:55:02.717 に答える