29

On a Mac OS X v10.5 (Leopard) PowerPC, if I do:

echo "hello" | md5 
on the command line, the result is:

b1946ac92492d2347c6235b4d2611184

But if I enter hello into one of the online MD5 hash sites like http://md5online.net/, I get:

5d41402abc4b2a76b9719d911017c592

Am I doing something wrong? If I want to use MD5 on the go, how can I make sure what I'm getting on the command line will agree with the online md5 tools?

2
  • Works for me on Windows with Total Commander creating the MD5 checksum. Same as the online version.
    – Snark
    Nov 17, 2009 at 8:04
  • Thanks, Snark. Rudedog solved the problem when using md5 on the command line, at least for POSIX systems. Give him a +1 if you can. I'm too new.
    – pellea72
    Nov 17, 2009 at 8:13

4 Answers 4

54

When you echo from the command line, md5 is calculating the sum of 6 characters - h,e,l,l,o plus newline. The text you enter in a website doesn't have a newline.

Try doing

echo -n hello | md5

and it'll give you what you expect. The -n tells echo not to output a newline.

2
  • Oops. I didn't notice the '-n' tag. You're right Rudedog. That worked. Thanks.
    – pellea72
    Nov 17, 2009 at 8:11
  • Thanks @Rudedog your answer from 12 years ago just saved my sanity!
    – Bill Gale
    Mar 25, 2021 at 0:06
5

You can also use printf instead of echo, which automatically suppresses the newline character:

printf hello | md5

Or even:

printf "hello" | md5
1

b1946ac92492d2347c6235b4d2611184 ist the md5 of just the string

hello

5d41402abc4b2a76b9719d911017c592 ist the md5 of

hello

CR+LF

CR+LF is the Windows newline.

1
  • -1. Totally mixed up. Sole hello gives 5d…; helloLF gives b1…; helloCRLF gives af5597c29467a96523a70787c319f4db. Feb 2, 2022 at 17:14
0

Depends on how you call (OSx), bash and zsh add newline character by default.

echo "123" | md5

ba1f2511fc30423bdbb183fe33f3dd0f


echo "123" | tr -d "\n" | md5        

202cb962ac59075b964b07152d234b70

echo -n "123" | md5           

202cb962ac59075b964b07152d234b70

printf "123" | md5

202cb962ac59075b964b07152d234b70

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .