首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]gnupg_decryptverify()函数—用法及示例

发布于 2025-04-26 22:03:31
0
52

函数名:gnupg_decryptverify()

适用版本:PHP 4 >= 4.0.4, PHP 5, PHP 7

用法:gnupg_decryptverify(string $text, string $signature, string &$plaintext)

说明:gnupg_decryptverify() 函数用于解密和验证由 GnuPG 加密的文本。它将解密给定的 $text,并使用 $signature 来验证解密后的文本的完整性和真实性。如果验证成功,解密后的文本将存储在 $plaintext 变量中。

参数:

  • $text:要解密和验证的文本。
  • $signature:用于验证解密后文本的签名。
  • $plaintext:成功解密后的文本将存储在此变量中。

返回值:成功时返回 TRUE,失败时返回 FALSE。

示例:

<?php
// 创建 GnuPG 对象
$gpg = gnupg_init();

// 导入公钥
gnupg_adddecryptkey($gpg, "YOUR_PUBLIC_KEY");

// 加密的文本和签名
$encryptedText = "ENCRYPTED_TEXT";
$signature = "SIGNATURE";

// 解密和验证文本
$plaintext = '';
if (gnupg_decryptverify($gpg, $encryptedText, $signature, $plaintext)) {
    echo "解密和验证成功!\n";
    echo "解密后的文本: " . $plaintext;
} else {
    echo "解密和验证失败!\n";
}
?>

以上示例中,我们首先使用 gnupg_init() 函数创建了一个 GnuPG 对象。然后使用 gnupg_adddecryptkey() 函数导入了我们的公钥。接下来,我们传入加密的文本和签名到 gnupg_decryptverify() 函数中进行解密和验证。如果解密和验证成功,我们将打印解密后的文本。否则,将打印解密和验证失败的消息。请确保替换示例中的 "YOUR_PUBLIC_KEY""ENCRYPTED_TEXT""SIGNATURE" 为实际的值。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流