openssl が SHA-256 を生成します。

openssl が SHA-256 を生成します。

HMAC-SHA-256を使用してファイルの暗号化ハッシュを生成するためにopensslを使用しようとしています。出力に「ファイルやディレクトリがない」というエラーが表示されるのはなぜか混乱しています。

私が使用するキーはmykey.txtというファイルにあります。

これは私のコマンドです:

openssl dgst -sha256 -hmac -hex hexkey:$(cat mykey.txt) -out hmac.txt /bin/ps

そして出力

ここに画像の説明を入力してください。

ベストアンサー1

-hmacキーをパラメータとして渡します(マニュアルを見る)、したがってコマンドにはキーのHMACが必要です-hexhexkey:...ダッシュで始まらず、opensslファイル名の後にオプションがないため、ファイル名として扱われるため、次のファイル名でもあります-out

-mac hmac16進文字列として提供されたキーを使用して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または61626316進数と一致します。 (ここでは末尾に改行文字があることに注意してくださいmessage。)

だからあなたが望むようです

openssl dgst -sha256 -mac hmac -macopt hexkey:$(cat mykey.txt) -out hmac.txt /bin/ps

暗号化について話しているので、これは難しいです。 OpenSSLは常に使いやすいインターフェースを持っていません。したがって、私の言葉をそのまま受け入れるよりも、少なくとも2回は直接すべてを確認することをお勧めします。

おすすめ記事