gpg的对称加密如何自动发送密码?
How to send the password automatically in gpg's symmetric encryption?
我想对文件/tmp/public.txt
进行对称加密。
gpg --symmetric /tmp/public.txt
该命令将调用 enter passphrase
window,我想自动发送密码。
我在这里尝试:
echo "mylongpasswordhere" | gpg --passphrase-fd 0 --symmetric /tmp/public.txt
还是弹出enter passphrase
window,gpg的对称加密如何自动发送密码?
key="it is a long password to encrypt and decrypt my file in symmetric encryption
"
加密public.txt.
openssl enc -des3 -a -salt -in public.txt -k ${key} -out public.asc
解密public.asc。
openssl enc -d -des3 -a -salt -k ${key} -in public.asc -out public.out
我可以得出结论,openssl 是比 gpg 更强大的加密工具吗?
根据您的 GnuPG 版本 (>= 2.1.0),您需要在命令中添加“--pinentry-mode loopback”。
对于 GnuPG 版本 >= 2.1.0 但 < 2.1.12,您还需要添加:"allow-loopback-pinentry" 到 ~/.gnupg/gpg-agent.conf
你的命令将是:
echo "mylongpasswordhere" | gpg --pinentry-mode loopback --passphrase-fd 0 --symmetric /tmp/public.txt
或者您不必使用 passphrase-fd 和回显,但可以直接提供密码:
gpg --pinentry-mode loopback --passphrase "somepass" --symmetric /tmp/public.txt
因为我偶然发现这个问题有同样的问题,所以我会 post 实际帮助我的答案(来自其他 SE 问题)。这里的关键选项是 --batch --yes
:
$ gpg --passphrase hunter2 --batch --yes --symmetric file_to_enc
(取自this question)
这样您实际上可以对称地提供密钥作为命令行参数来加密文件,尽管这可能意味着系统的其他用户可能会看到使用的密码。
我想对文件/tmp/public.txt
进行对称加密。
gpg --symmetric /tmp/public.txt
该命令将调用 enter passphrase
window,我想自动发送密码。
我在这里尝试:
echo "mylongpasswordhere" | gpg --passphrase-fd 0 --symmetric /tmp/public.txt
还是弹出enter passphrase
window,gpg的对称加密如何自动发送密码?
key="it is a long password to encrypt and decrypt my file in symmetric encryption
"
加密public.txt.
openssl enc -des3 -a -salt -in public.txt -k ${key} -out public.asc
解密public.asc。
openssl enc -d -des3 -a -salt -k ${key} -in public.asc -out public.out
我可以得出结论,openssl 是比 gpg 更强大的加密工具吗?
根据您的 GnuPG 版本 (>= 2.1.0),您需要在命令中添加“--pinentry-mode loopback”。
对于 GnuPG 版本 >= 2.1.0 但 < 2.1.12,您还需要添加:"allow-loopback-pinentry" 到 ~/.gnupg/gpg-agent.conf
你的命令将是:
echo "mylongpasswordhere" | gpg --pinentry-mode loopback --passphrase-fd 0 --symmetric /tmp/public.txt
或者您不必使用 passphrase-fd 和回显,但可以直接提供密码:
gpg --pinentry-mode loopback --passphrase "somepass" --symmetric /tmp/public.txt
因为我偶然发现这个问题有同样的问题,所以我会 post 实际帮助我的答案(来自其他 SE 问题)。这里的关键选项是 --batch --yes
:
$ gpg --passphrase hunter2 --batch --yes --symmetric file_to_enc
(取自this question)
这样您实际上可以对称地提供密钥作为命令行参数来加密文件,尽管这可能意味着系统的其他用户可能会看到使用的密码。