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
일반적으로 쉘에서 줄 바꿈으로 끝나지 않는 줄을 원하지 않기 때문에 a를 추가합니다 (프롬프트가 맨 왼쪽에서 시작하지 않으면 정말보기 흉해 보입니다). 인수를
사용하여 -n
후행 줄 바꿈을 생략하면 Python 스크립트와 동일한 체크섬이 인쇄됩니다.
> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3 -