在php中使用public key.ASC加密大数据

在php中使用public key.ASC加密大数据,php,public-key-encryption,pgp,Php,Public Key Encryption,Pgp,我有一个扩展名为.asc的公钥,我需要使用它来加密数据并将其发送到纯文本文件中。我正试图用php在windows机器上实现这一点。有什么想法吗? 谢谢,请确保 在PECL中,有一个gnupg扩展rocket hazmat:我在linux中配置它没有任何问题。Windows是一种痛苦。。。我希望在INI文件中找到我可以引用的dll,但是我没有看到任何外部的dll。windows中的GNUPG扩展不是那么简单。我尝试使用PECL安装它,但出现了一个错误“error:DSP gnupg.DSP不存在”

我有一个扩展名为.asc的公钥,我需要使用它来加密数据并将其发送到纯文本文件中。我正试图用php在windows机器上实现这一点。有什么想法吗? 谢谢,

请确保


在PECL中,有一个gnupg扩展rocket hazmat:我在linux中配置它没有任何问题。Windows是一种痛苦。。。我希望在INI文件中找到我可以引用的dll,但是我没有看到任何外部的dll。windows中的GNUPG扩展不是那么简单。我尝试使用PECL安装它,但出现了一个错误“error:DSP gnupg.DSP不存在”。我可能必须从源代码处编译它……您可能更喜欢调用二进制文件。确保将公钥放入web服务器GnuPG目录,只需调用
gpg.exe-r DEADBEEF-d file来加密>加密文件.asc
。您可能必须使用GnuPG的完整路径。或者简单地使用Linux机箱作为web服务器……这不是一个坏主意。谢谢Jens Erat。
$gpg = new gnupg();
$publicData = file_get_contents('public.asc');
$publicKey = $gpg->import($publicData);
$gpg->addencryptkey($publicKey['fingerprint']);
echo $gpg->encrypt('Data to encrypt');