我想加密一个字符串而不将其写入文件。
使用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?
我不知道有任何选项允许您将输入作为参数传递,但您可以简单地使用管道:
echo 'foo bar' | gpg -r [email protected] --encrypt
您当然可以添加您使用的所有附加选项和命令。通过使用管道,输出不会存储为中间文件,而是使用小型内存缓冲区连接
echo
的标准输出和gpg
的标准输入。
如果您使用的是 bash,则可以使用 HEREDOC 语法,这对于多行字符串很有用。您只需复制并粘贴多行字符串即可,而不必担心转义。
gpg -r [email protected] --encrypt -o out.gpg << 'HEREDOC'
first line
second line
HEREDOC