如何通过传递“gpg passphrase"”来解密加密的文件.在命令中使用PHP


How to decrypt an encrypted file by passing the "gpg passphrase" in the command using PHP?

我想知道如何通过在命令行中传递passphrase/secret key来解密文件。

我试过使用这个,但它仍然提示我输入密码。

echo shell_exec("echo $passphrase | GPG——passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");

我的目标是在PHP中创建一个程序,可以自动解密文件

您应该使用php函数而不是fork gpg

我不知道gpg开发者使用了什么方法来防止这种情况。但是作为一种替代方法,您可以使用这个PHP模块:http://pecl.php.net/package/gnupg来处理解密。参见http://php.net/gnupg

gpg --passphrase-file $file

man gpg说:"从文件文件读取密码。只有第一行将从文件文件中读取。这只能在只提供一个密码短语时使用。显然,如果其他用户可以读取文件,那么存储在文件中的密码短语的安全性是有问题的。如果可以避免,不要使用这个选项。"