函数名:gnupg_encrypt()
适用版本:PHP 7.3.0 或更高版本
用法:gnupg_encrypt(string $plaintext, string $fingerprint)
参数:
- $plaintext:要加密的明文字符串。
- $fingerprint:用于加密的公钥指纹。
返回值:成功时返回加密后的密文,失败时返回 FALSE。
示例:
// 创建一个 GnuPG 对象
$gpg = new gnupg();
// 导入公钥
$gpg->import(file_get_contents('pubkey.gpg'));
// 设置加密选项
$gpg->addencryptkey('0x12345678'); // 使用公钥的指纹
// 要加密的明文
$plaintext = 'Hello, World!';
// 调用 gnupg_encrypt() 函数进行加密
$ciphertext = $gpg->encrypt($plaintext);
if ($ciphertext !== false) {
echo "加密后的密文:\n";
echo $ciphertext;
} else {
echo "加密失败!";
}
注意事项:
- 在调用 gnupg_encrypt() 函数之前,需要先创建一个 GnuPG 对象,并导入公钥。
- 公钥必须事先存在,并且使用正确的格式(如 .gpg 文件)。
- addencryptkey() 函数用于添加加密所需的公钥,参数为公钥的指纹。
- 加密成功后,将返回加密后的密文字符串,可以将其保存到文件或传输给其他人解密。
- 如果加密失败,函数将返回 FALSE。可能的失败原因包括无法读取公钥文件、公钥指纹不正确等。