我有一个扩展名为.asc的公钥,我需要用它来加密数据并将其发送到一个纯文本文件中。我正在尝试使用php在windows机器上完成此操作。有什么想法吗?谢谢。
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');
取代加密常数,以档案内容取代,并将加密的消息储存在您想要的任何位置。
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;
2条答案
按热度按时间k4emjkb11#
确保你installed the gnupg extension for PHP。
取代加密常数,以档案内容取代,并将加密的消息储存在您想要的任何位置。
46qrfjad2#
首先通过www-data创建新文件夹所有者
第二次尝试以下php代码: