Why is an MD5 hash created by Python different from one created using echo and md5sum in the shell? Why is an MD5 hash created by Python different from one created using echo and md5sum in the shell? python python

Why is an MD5 hash created by Python different from one created using echo and md5sum in the shell?


echo appends a \n since you usually do not want lines not ending with a linebreak in your shell (it looks really ugly if the prompt does not start at the very left).
Use the -n argument to omit the trailing linebreak and it will print the same checksum as your python script:

> echo -n mystringforhash | md5sum86b6423cb6d211734fc7d81bbc5e11d3  -