opensslを使用して一連の文字列を暗号化したい。コンソールでプレーンテキストをopensslに渡すにはどうすればよいですか(プレーンテキストを含む入力ファイルを指定する代わりに)。
opensslのマニュアルページには、入出力に関連する次の2つのオプションのみがあります。
-in <file> input file
-out <file> output file
これが私がこれまでに試したことです:
これは正常に機能します
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt -out encrypted.txt
-outパラメータを省略すると、コンソールに暗号化された文字列が表示されます。
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt
しかし、-inと-outの両方を省略すると、エラーが発生します–不明なオプション「暗号化ME」
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME"
承認された回答:
これを使用してください:
[email protected]:~$ echo "my string to encrypt" | openssl aes-256-cbc -e -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000
a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE=
[email protected]:~$ echo "a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE=" | openssl aes-256-cbc -d -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000
my string to encrypt
または、コマンド置換を使用することもできます:
[email protected]:~$ openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv \
00000000000000000000000000000000 -in <(echo "my string to encrypt") -out encrypted.txt