如何解决gpg加密和解密
我正在尝试加密和解密字符串。 现在,我已经做到了:mis@fasan:~$ echo \"hallo\" | gpg --symmetric --pgp8 --cipher-algo AES256 > /tmp/1
Enter passphrase:
Repeat passphrase:
mis@fasan:~$
mis@fasan:~$ cat /tmp/1 | gpg --decrypt
gpg: AES256 encrypted data
Enter passphrase:
gpg: encrypted with 1 passphrase
hallo
mis@fasan:~$
就像我想要它一样工作。现在,我尝试使用文件中的密码来尝试它,但是它不起作用:
mis@fasan:~$ echo \"hallo\" | gpg --symmetric --pgp8 --cipher-algo AES256 --passphrase-fd 0 < /home/mis/testgpg > /tmp/1
Reading passphrase from file descriptor 0
mis@fasan:~$
mis@fasan:~$ cat /tmp/1 | gpg --decrypt
gpg: AES256 encrypted data
gpg: encrypted with 1 passphrase
有趣的是,他要求输入密码。如果写错密码,则会收到错误消息,但是如果写正确的密码,则不会得到密码串。
我的目标是达到以下目标:
mis@fasan:~$ echo \"hallo\" | gpg --symmetric --pgp8 --cipher-algo AES256 --passphrase-fd 0 < /home/mis/testgpg > /tmp/1
Reading passphrase from file descriptor 0
mis@fasan:~$
mis@fasan:~$ cat /tmp/1 | gpg --decrypt --passphrase-fd 0 < /home/mis/testgpg
Reading passphrase from file descriptor 0
gpg: decrypt_message failed: eof
mis@fasan:~$
但这也不起作用。有人知道我在做什么错吗?
解决方法
您试图通过相同的文件描述符(0,即stdin)将测试加密(
echo \"hallo\" |
)和密码短语(< /home/mis/testgpg
)都推入。这些重定向中只有一种可以成功,这就是密码短语。为这两个任务使用不同的文件或文件描述符。
例如,使用文件描述符#3作为密码:
echo \"hallo\" | gpg --symmetric --pgp8 --cipher-algo AES256 --passphrase-fd 3 3< /home/mis/testgpg > /tmp/1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。