如何使用PHP在命令中传递“gpg passphrase”来解密加密文件?

时间:2011-09-19 20:27:45

标签: php encryption gnupg secret-key passphrase

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

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

echo shell_exec(“echo $ passphrase | gpg --passphrase-fd 0 -o $ unencrypted_file -d $ encrypted_file”);

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

3 个答案:

答案 0 :(得分:2)

你应该使用php functions代替分配gpg

答案 1 :(得分:0)

我不知道gpg开发人员使用什么方法来防止这种情况。但作为替代方案,您可以使用此PHP模块:http://pecl.php.net/package/gnupg来处理解密。另请参阅http://php.net/gnupg

答案 2 :(得分:0)

gpg --passphrase-file $file

man gpg说:“从文件文件中读取密码。只有第一行将从文件文件中读取。只有在只有一个密码短语的情况下才能使用显然,如果其他用户可以读取此文件,则存储在文件中的密码短语的安全性有问题。如果可以避免,请不要使用此选项。“