使用 gnupg 加密到标准输出

使用 gnupg 加密到标准输出

我正在尝试使用加密某些内容,gpg -a并将结果返回到标准输出,而不是文件。根据手动的,省略一个标志应该就足够了--output,但事实似乎并非如此。当我不指定输出文件时,gnupg 会假定我输出到 stdout[input-file].gpg而不是 stdout。

有没有办法让 GPG 做到这一点,或者我必须让它加密为一个临时文件然后再执行cat它?

答案1

不要将输入文件传递给 gpg,而是使用 shell 重定向将输入文件发送到 gpg 的标准输入,例如:

gpg -ac < inputfile

答案2

万一有人仍然需要这样做,你可以这样做

gpg -ac -o- infile

将输出文件名设置为“-”会将输出发送到标准输出。

答案3

如果其他人需要更好或更简洁的答案:

您可以使用gpg --output -任何其他标志。

对于上面的例子你可以gpg --armor --symmetric --output - file.txt这样做gpg -aco - file.txt

答案4

编辑:抱歉,我意识到你想要对称加密

gpg -a -c 系统会提示输入密码,输入完信息后按 ctrl+d

gpg -a --encrypt -r [email protected]

然后输入消息,完成后按 ctrl+d

相关内容