Hash Python MD5 berbeda dari yang dibuat oleh perintah md5sum pada shell. Mengapa?
>>> import hashlib
>>> h = hashlib.md5()
>>> h.update("mystringforhash")
>>> print h.hexdigest()
86b6423cb6d211734fc7d81bbc5e11d3 # Result from Python
$ echo mystringforhash | md5sum
686687dd68c5de717b34569dbfb8d3c3 - # Result on the shell
echo
memiliki-n
flag yang bisa diterapkan . POSIX mengatakan hal berikut tentangecho
: "Jika operan pertama adalah-n
, atau jika salah satu operand berisi<backslash>
karakter, hasilnya ditentukan oleh implementasi." (sumber: pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html ). Gunakanprintf
sebagai gantinya.md5sum
tidak penting di sini. Masukan tidak. Dan tanpa-n
, echo menambahkan pemutusan baris, yang menghasilkan hash yang berbeda.