ベストアンサー1
-hmac
キーをパラメータとして渡します(マニュアルを見る)、したがってコマンドにはキーのHMACが必要です-hex
。hexkey:...
ダッシュで始まらず、openssl
ファイル名の後にオプションがないため、ファイル名として扱われるため、次のファイル名でもあります-out
。
-mac hmac
16進文字列として提供されたキーを使用してHMACを取得するには、およびを使用する必要があります-macopt hexkey:<key>
。-hmac <key>
とを一緒に使用すると機能せ-mac hmac
ず、-macopt
必要があります-mac hmac
。
テスト:
openssl dgst -sha256 -hmac abc <<< "message"
openssl dgst -sha256 -hmac abc -macopt hexkey:12345678 <<< "message"
openssl dgst -sha256 -mac hmac -macopt hexkey:616263 <<< "message"
perl -MDigest::HMAC=hmac_hex -MDigest::SHA=sha256 \
-le 'print(hmac_hex("message\n", "abc", \&sha256))'
提供されたすべてのハッシュは、 99592e56fcde028fb41882668b0cbfa0119116f9cf111d285f5cedb000cfc45a
ランダムオンラインHMAC電卓のメッセージmessage\n
、キー、abc
または616263
16進数と一致します。 (ここでは末尾に改行文字があることに注意してくださいmessage
。)
だからあなたが望むようです
openssl dgst -sha256 -mac hmac -macopt hexkey:$(cat mykey.txt) -out hmac.txt /bin/ps
暗号化について話しているので、これは難しいです。 OpenSSLは常に使いやすいインターフェースを持っていません。したがって、私の言葉をそのまま受け入れるよりも、少なくとも2回は直接すべてを確認することをお勧めします。