我想加密字符串而不将其写入文件。
使用GPG加密文件的方法是
gpg --encrypt --sign --armor -r <target@email.com> -r <sender@email.com> <filename.txt>
我想要的是能够简单地输入filename.txt所在的字符串或一系列数字,然后将其加密到文件中。
gpg --encrypt --sign --armor -r <target@email.com> -r <sender@email.com> <"this is a string that needs to be encrypted">
有没有办法做到这一点,或者是否需要传递filename.txt?
答案 0 :(得分:1)
我不知道任何允许您将输入作为参数传递的选项,但您只需使用管道:
echo 'foo bar' | gpg -r target@example.com --encrypt
您当然可以添加您使用的所有其他选项和命令。通过使用管道,输出不会存储为中间文件,但echo
的stdout和gpg
的stdin使用一个小的内存缓冲区连接。
答案 1 :(得分:0)
如果您正在使用bash,则可以使用HEREDOC语法,该语法对于多行字符串很有用。您只需复制并粘贴多行字符串,而不必担心转义。
gpg -r target@email.com --encrypt -o out.gpg <<< 'HEREDOC'
first line
second line
HEREDOC