gpt4 book ai didi

gnupg - 如何使用Gnupg的passphrase-fd参数?

转载 作者:行者123 更新时间:2023-12-03 09:16:21 26 4
gpt4 key购买 nike

我想在没有任何用户干预的情况下使用GnuPG的decrypt命令。脚本的--passphrase-fd参数似乎正是我所需要的。但我不知道它是如何工作的-尚未找到示例。

在Windows和UNIX环境下,谁能给我这样的命令的示例?

(仅供引用,我正在使用GnuPG 2)。

已经谢谢你了:)

最佳答案

为了在GnuPG v2中使用gpg选项--passphrase-fd,必须指定--batch参数。我将首先解释--passphrase-fd的工作原理,然后进入示例。
--passphrase-fd告诉GnuPG期望密码短语来自哪个file descriptor(-fd)。标准文件描述符为STDIN(0),STDOUT(1)和STDERR(2)。对于此问题,您通常只关心STDIN(0)。

您没有指定密码的来源,因此我将以多种方式演示STDIN(标准输入)的用法。
--passphrase-fd 0告诉GnuPG从输入到当前shell中获取密码。因此,例如,如果您希望GnuPG在控制台输入的下一行中获取密码数据,则命令和输出将如下所示:

gpg2 --batch --passphrase-fd 0 --armor --decrypt /path/to/encrypted_file.pgp
<next line of input is passphrase followed by hitting enter>
gpg: encrypted with 1024-bit RSA key, ID EC18C175, created 2013-10-26
"testkey4321 (4321) <test@4321.com>"
this is a test... this is only a test...

在上面的示例中,密码通过文件描述符0(STDIN)提供-我们通过在shell当前的标准输入中输入密码来提供密码。

在下一个示例中,我们将告诉GnuPG从当前shell的输入中检索密码短语,该密码实际上是另一个命令的输出(在这种情况下,echo只是“回声”您告诉的内容):
echo "mypassphrase" | gpg2 --batch --passphrase-fd 0 --armor --decrypt /path/to/encrypted_file.pgp
gpg: encrypted with 1024-bit RSA key, ID EC18C175, created 2013-10-26
"testkey4321 (4321) <test@4321.com>"
this is a test... this is only a test...

将包含密码短语的文件的内容转储到STDIN的另一个示例-
cat /path/to/file_with_passphrase | gpg2 --batch --passphrase-fd 0 --armor --decrypt /path/to/encrypted_file.pgp
gpg: encrypted with 1024-bit RSA key, ID EC18C175, created 2013-10-26
"testkey4321 (4321) <test@4321.com>"
this is a test... this is only a test...

总而言之, --passphrase-fd只是告诉GnuPG您想通过标准文件描述符为它提供必要的密码。 GnuPG v2和GnuPG之间的区别只是 --batch参数。

上面的示例在Windows和* nix环境中应该工作相同,唯一的区别是在Windows中-根据您的配置和版本-您必须将 cat替换为 type才能将文件内容转储到STDIN。

关于gnupg - 如何使用Gnupg的passphrase-fd参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com