如何加密字符串而不将其写入文件

问题描述 投票:0回答:2

我想加密一个字符串而不将其写入文件。

使用GPG加密文件的方法是

gpg --encrypt --sign --armor -r <[email protected]> -r <[email protected]> <filename.txt>

我想要的是能够简单地输入 filename.txt 所在的字符串或一系列数字,并将其加密到文件中。

gpg --encrypt --sign --armor -r <[email protected]> -r <[email protected]> <"this is a string that needs to be encrypted">

有没有办法做到这一点,或者是否需要传入 filename.txt?

encryption gnupg
2个回答
8
投票

我不知道有任何选项允许您将输入作为参数传递,但您可以简单地使用管道:

echo 'foo bar' | gpg -r [email protected] --encrypt

您当然可以添加您使用的所有附加选项和命令。通过使用管道,输出不会存储为中间文件,而是使用小型内存缓冲区连接

echo
的标准输出和
gpg
的标准输入。


5
投票

如果您使用的是 bash,则可以使用 HEREDOC 语法,这对于多行字符串很有用。您只需复制并粘贴多行字符串即可,而不必担心转义。

gpg -r [email protected] --encrypt -o out.gpg << 'HEREDOC'
first line
second line
HEREDOC
© www.soinside.com 2019 - 2024. All rights reserved.