我想知道如何通过在命令行中传递密码/密钥来解密文件。
我尝试使用它,但它仍然提示我输入密码。
echo shell_exec("echo $passphrase | gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");
我的目标是用 PHP 创建一个可以自动解密文件的程序。
我想知道如何通过在命令行中传递密码/密钥来解密文件。
我尝试使用它,但它仍然提示我输入密码。
echo shell_exec("echo $passphrase | gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");
我的目标是用 PHP 创建一个可以自动解密文件的程序。
您可能应该使用php 函数而不是分叉 gpg
我不知道 gpg 开发人员使用什么方法来防止这种情况。但作为替代方案,您可以使用这个 PHP 模块: http: //pecl.php.net/package/gnupg来处理解密。另见http://php.net/gnupg
gpg --passphrase-file $file
man gpg 说:“从文件file中读取密码。只有第一行会从文件file中读取。这只能在只提供一个密码时使用。显然,如果其他用户存储在文件中的密码是有问题的安全性可以读取此文件。如果可以避免,请不要使用此选项。