objects must hashing encoded before python shell md5sum

must - python md5 file



¿Por qué un hash MD5 creado por Python es diferente de uno creado usando echo y md5sum en el shell? (1)

Un hash Python MD5 es diferente al creado por el comando md5sum en el shell. ¿Por qué?

>>> import hashlib >>> h = hashlib.md5() >>> h.update("mystringforhash") >>> print h.hexdigest() 86b6423cb6d211734fc7d81bbc5e11d3 # Result from Python $ echo mystringforhash | md5sum 686687dd68c5de717b34569dbfb8d3c3 - # Result on the shell


echo agrega /n ya que normalmente no quieres que las líneas no terminen con un salto de línea en tu caparazón (se ve muy feo si el mensaje no comienza desde la izquierda).
Utilice el argumento -n para omitir el salto de línea posterior e imprimirá la misma suma de comprobación que su secuencia de comandos de python:

> echo -n mystringforhash | md5sum 86b6423cb6d211734fc7d81bbc5e11d3 -