在php中使用公钥.ASC加密大量数据

kfgdxczn  于 2022-11-21  发布在  PHP
关注(0)|答案(2)|浏览(210)

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

k4emjkb1

k4emjkb11#

确保你installed the gnupg extension for PHP

$gpg = new gnupg();
$publicData = file_get_contents('public.asc');
$publicKey = $gpg->import($publicData);
$gpg->addencryptkey($publicKey['fingerprint']);
echo $gpg->encrypt('Data to encrypt');

取代加密常数,以档案内容取代,并将加密的消息储存在您想要的任何位置。

46qrfjad

46qrfjad2#

首先通过www-data创建新文件夹所有者

mkdir /var/www/.gnupg
sudo chown -R www-data:www-data  /var/www/.gnupg

第二次尝试以下php代码:

putenv("GNUPGHOME=/var/www/.gnupg");
    $gpg = new gnupg();
    $publicData = file_get_contents('/var/www/html/web/resources/keys/public.asc');
    $privateData = file_get_contents('/var/www/html/web/resources/keys/SECRET.asc');
    $publicKey = $gpg->import($publicData);
    $gpg->addencryptkey($publicKey['fingerprint']);
    $encrypt = ($gpg->encrypt('Data to encrypt'));
    echo $encrypt;

相关问题