Шифрование на стандартный вывод с помощью gnupg

Я пытаюсь что-то зашифровать gpg -a и вернуть результат в стандартный формат, а не в файл. Согласно инструкции, этого должно быть достаточно, чтобы опустить --output флаг, но это не так. Когда я не указываю выходной файл, gnupg предполагает, что я выводлю в [input-file].gpg а не стандартный

Есть ли способ заставить GPG сделать это, или мне придется зашифровать его во временный файл, а затем cat Это?

4 ответа

Решение

Вместо передачи входного файла в gpg, используйте перенаправление оболочки для отправки входного файла в стандартный ввод gpg, например:

gpg -ac < inputfile

На всякий случай, если кому-то еще нужно сделать это, вы можете сделать это с

gpg -ac -o- infile

Установка выходного имени файла в "-" отправляет вывод в stdout.

Если кому-то еще нужен лучший или более краткий ответ:

Ты можешь сделать gpg --output - с любыми другими флагами.

Для примера выше вы можете сделать gpg --armor --symmetric --output - file.txt или же gpg -aco - file.txt

Редактировать : извините понял, что вы хотели симметричное шифрование

gpg -a -cпоявится запрос пароля, после этого введите ваше сообщение и нажмите Ctrl+ D

gpg -a --encrypt -r recipient@gmail.com

затем введите сообщение, когда вы закончите, нажмите Ctrl+ D

Другие вопросы по тегам