私は入ります:
appletree:~ somename$ shasum -a 512 <<< test
そして出力は:
0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123 -
次に、いくつかのオンラインハッシュジェネレーターにアクセスして、「test」と入力します。彼らの答えは:
ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff
http://passwordsgenerator.net/sha512-hash-generator/ :
EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF
したがって、オンラインのジェネレーターは同意します。 Macコンソールコマンドで何が欠けていますか?
man
ページを読んでいました。 Perlライブラリを使用して実装されているようです。ただし、sha512は一意の名称になると思うので、さらに深く掘り下げる必要があります。
重複する質問があるようです: コマンドラインハッシュがオンラインのMD5ハッシュ結果と異なるのはなぜですか? 。他の質問は予期しない空白である同じコンテキストにありますが、別の状況から出てきます。
質問のshasum
呼び出しへの入力はtest\n
(改行付き)、test
ではありません。
test
に改行なしでshasum
を指定すると、引用したオンラインツールと同じ出力が得られます。
$ echo -n "test" | shasum -a 512
ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff -
ところで、MacOSで見つかったshasum
については、特別なものやMacOS固有のものは何もないと思います。 shasum
は標準のPerlディストリビューションの一部だと思います。たとえば、Perl
コマンドとともにインストールされます。
これを試して:
hexdump -C <<< test
Unixシェルを知っていると、おそらくその文字列の最後に不要な0x0aが表示されます。