명령 줄 해시가 온라인 MD5 해시 결과와 다른 이유는 무엇입니까?


21

A의 맥 OS X 10.5 (레오파드) 파워, 내가 할 경우 :

에코 "hello"| md5
명령 행에서 결과는 다음과 같습니다.

b1946ac92492d2347c6235b4d2611184

그러나 http://md5online.net/ 과 같은 온라인 MD5 해시 사이트 중 하나에 hello를 입력 하면 다음 과 같은 결과 가 나타납니다.

5d41402abc4b2a76b9719d911017c592

내가 뭔가 잘못하고 있습니까? 이동 중에 MD5를 사용하려면 명령 줄에서 얻는 내용이 온라인 md5 도구와 일치하는지 어떻게 확인할 수 있습니까?


MD5 체크섬을 만드는 Total Commander와 함께 Windows에서 작동합니다. 온라인 버전과 동일합니다.
너크

고마워요 Rudedog은 최소한 POSIX 시스템의 경우 명령 줄에서 md5를 사용할 때 문제를 해결했습니다. 가능하다면 그에게 +1을주세요. 나는 너무 새롭다.
pellea72

답변:


40

명령 행에서 반향 할 때 md5는 6 자 (h, e, l, l, o + 개행)의 합계를 계산합니다. 웹 사이트에 입력 한 텍스트에는 줄 바꿈이 없습니다.

시도해보십시오

echo -n hello | md5

그리고 당신이 기대하는 것을 줄 것입니다. -n은 echo에 줄 바꿈을 출력하지 않도록 지시합니다.


죄송합니다. '-n'태그를 보지 못했습니다. 당신이 맞아 Rudedog. 효과가있었습니다. 감사.
pellea72 '11

3

echo 대신 printf를 사용하면 줄 바꿈 문자가 자동으로 표시되지 않습니다.

printf hello | md5

또는:

printf "hello" | md5

2

b1946ac92492d2347c6235b4d2611184는 문자열의 MD5입니다.

hello

5d41402abc4b2a76b9719d911017c592는 md5입니다.

hello

CR + LF

CR + LF는 Windows 줄 바꿈입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.