Unixでこのコマンドを実行する場合
echo -n "foo" | openssl dgst -sha1
以下の結果が出力されます。
(stdin)= 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
(次に改行文字が続きます)。
opensslがプレフィックスを表示せずに(stdin)=
末尾の改行を避けるように強制する方法は?
ベストアンサー1
raw バイナリ形式は外部出力を追加しません。
出力は2進数で16進数に変換されます。
echo -n "foo" | openssl dgst -sha1 -binary | xxd -p
あなたにこれを与えるでしょう:
0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
誰かがテキスト出力形式を再度変更することを決定した場合、この方法は将来も使用できます。ファイル入力のプレフィックスとの整合性を維持するために、「SHA1(stdin)=」プレフィックスを変更すると確信しています。
私は彼らがこれを変えたと信じることができません!どのくらいのスクリプトが壊れているのだろうか。