IT

Python에서 만든 MD5 해시가 쉘에서 echo 및 md5sum을 사용하여 만든 것과 다른 이유는 무엇입니까?

lottoking 2020. 8. 10. 07:28
반응형

Python에서 만든 MD5 해시가 쉘에서 echo 및 md5sum을 사용하여 만든 것과 다른 이유는 무엇입니까?


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

echo\n일반적으로 쉘에서 줄 바꿈으로 끝나지 않는 줄을 바꿈으로하기 때문에 추가합니다 (프롬프트가 맨 왼쪽에서 시작하지 정말보기 흉해하기 때문에). 인수를
사용하여 -n후행 줄 바꿈을 생략하면 Python과 동일한 체크섬이 인쇄됩니다.

> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3  -

참고 URL : https://stackoverflow.com/questions/5693360/why-is-an-md5-hash-created-by-python-different-from-one-created-using-echo-and-m

반응형