GNU/Linux >> Linux の 問題 >  >> Linux

文字列(ファイルではなく)をOpensslに渡す方法は?

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

Linux
  1. 公開鍵を使用してopensslで大きなファイルを暗号化する方法

  2. Wget で保存せずにファイルを要求するにはどうすればよいですか?

  3. ファイルの各行の先頭に文字列を追加するにはどうすればよいですか?

  1. ファイル内で \n を grep する方法

  2. ファイルを実行不可として設定するには?

  3. sed:見つかった場合は行を置き換えるか、見つからない場合はファイルの最後に追加する方法は?

  1. 解決方法:stdin:gzip形式ではありません

  2. ファイル内の文字列を置き換える方法は?

  3. 資格情報ファイルを mount.cifs に渡すにはどうすればよいですか?