質問: md5ハッシュ値はbashおよびphpとは異なります "hello"という文字列の md5 和(md5sumを使用)を生成しようとしました。私はlinuxのmd5sumツール、phpのmd5()関数、そしてmd5sum翻訳者へのさまざまなオンラインテキストとして、さまざまな方法を試しました。echo "hello" | md5sum そしてecho "hello" > file && md5sum file 結果をb1946ac92492d2347c6235b4d2611184にします。しかし、phpのmd5()関数とほとんどすべてのオンラインジェネレータが5d41402abc4b2a76b9719d911017c592という出力をしていました。理由は何ですか?
回答: デフォルトでは、echoは出力の最後に改行文字を含みます。ただし、phpおよび使用したオンラインサイトには改行は含まれません。改行文字を表示しないようにするには、-nフラグを使用します。echo -n "hello" | md5sum 出力: 5d41402abc4b2a76b9719d911017c592 - 参照してください:help echoまたはprintfを使うとprintf "%s" "hello" | md5sum