md5sumとPHPのmd5()で結果が違う

$ php -r 'echo md5("aaa") . PHP_EOL;'
47bce5c74f589f4867dbd57e9ca9f808

$ echo  aaa  | md5sum
5c9597f3c8245907ea71a89d9d39d08e  -
あれ?結果が違うよ?
一瞬目を疑ってしまいました。

原因はLinuxのechoコマンドが改行コードを付加していることでした。
こういうときは-nオプションをつけて改行コードをつけないようにしましょう。
% echo -n aaa  | md5sum
47bce5c74f589f4867dbd57e9ca9f808  -
一致した!
カテゴリ: