テキストファイルを作成しました。
$ cat sheep.txt
mary had a little lamb
..その後、端末で暗号化します。
gpg --encrypt --recipient 49673952 sheep.txt
今、2つの量のファイルがあります。
$ ls -la sheep.*
-rw-r--r-- 1 cardamom cardamom 25 Jun 15 22:02 sheep.txt
-rw-r--r-- 1 cardamom cardamom 622 Jun 15 22:02 sheep.txt.gpg
2番目のファイルを画面にインポートすると、テキストファイルではなくバイナリファイルに近いことがわかります。
$ cat sheep.txt.gpg
���/�0��JT�H�ߗ�V<��n�2��,on�:] *�{��RU=�j)�8R�8��-؛��)�j�����}��E�X+-c�q龵��!1�qwm"��H�ヲc�Վ;
私はこれが次のようになりたいです。
-----BEGIN PGP MESSAGE-----
Pef4eu2VSVhhCaGUqvWSdRihyaIbSf8ztJ64e11rzKcgvM+zNAIQYy5ZLoZkGXzG
EExxTuCn0t51DJkEesbb0UVgT0NyWVY9+c2GVIrQMpsET785+dHO2KWTGaAivEfk
-----END PGP MESSAGE-----
この種の出力を提供するようにgpgを取得するにはどうすればよいですか?実際にファイルとして保存するよりも画面に表示する方が好きです。
2番目に便利なのは、プレーンテキストをファイルの代わりにコマンドに入れる方法です。
gpg --encrypt --recipient 49673952 'mary had a little lamb'
..動作しません。実際、このタスクには少しセキュリティ上のリスクがあります。後でプレーンテキストファイルを削除することが重要であり、記録に入らないように先頭にスペースを入れることが重要です。時々これができれば便利です。危険のためにいつもそうするかどうかはわかりません。しかし、私が尋ねる主な質問は、可能であればgpgに他の種類の出力を提供させる方法です。ファイルの代わりに端末。
修正する:
私はこれがこれに関連していると思います:
https://stackoverflow.com/questions/1306865/what-are-the-standard-encryption-file-formats
..gpgだけでは不可能かもしれませんが、gpgの出力をパイプで接続する必要があるかもしれません。
答え1
私はそれを解決しました:
gpg --output - --encrypt --armor --recipient 49673952 <(echo "$mary had a little lamb")
--output -
次のようにSTDOUTにダンプします。文書そしてディスクにファイルは書き込まれません。
最後のビットはファイルの読み取りを防ぎますが、前述のようにレコードに入るとセキュリティ上のリスクがあります。