Mac OS X v10.5 (Leopard)PowerPCの場合、次の場合:
エコー「こんにちは」| md5
b1946ac92492d2347c6235b4d2611184
しかし、 http://md5online.net/ のようなオンラインMD5ハッシュサイトの1つにhelloを入力すると、次のようになります。
5d41402abc4b2a76b9719d911017c592
私は何か間違ったことをしていますか?外出先でMD5を使用したい場合、コマンドラインで取得したものがオンラインのmd5ツールと一致することを確認するにはどうすればよいですか?
コマンドラインからエコーすると、md5は6文字の合計(h、e、l、l、oと改行)を計算します。 Webサイトに入力するテキストには、改行がありません。
やってみてください
echo -n hello | md5
そしてそれはあなたが期待するものをあなたに与えるでしょう。 -nは、echoに改行を出力しないように指示します。
Echoの代わりにprintfを使用することもできます。これにより、改行文字が自動的に抑制されます。
printf hello | md5
あるいは:
printf "hello" | md5
b1946ac92492d2347c6235b4d2611184は、文字列だけのmd5です。
hello
5d41402abc4b2a76b9719d911017c592はのmd5です
hello
CR + LF
CR + LFはWindowsの改行です。
私の5セントを追加して答えを拡張するには:Linuxではmd5ではなくmd5sumなので、次のことを行う必要があります。
echo -n hello | md5sum