The hash does not match the one md5sum printed for the same text.
- Why:
- A trailing newline. `echo abc` sends four bytes, not three, so `echo abc | md5sum` hashes "abc\n" and gets a completely different digest.
- Fix:
- Use `printf %s abc | md5sum`, or `echo -n`. A single invisible byte changes every bit of the output.