查询

gnupg_verify()函数—用法及示例

「 验证给定的文本与签名是否匹配 」


函数名:gnupg_verify()

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

函数描述:gnupg_verify() 函数用于验证给定的文本与签名是否匹配。

语法:gnupg_verify(resource $identifier, string $signed_text, string $signature, string &$plaintext)

参数:

  • identifier:GnuPG资源标识符,通过 gnupg_init() 函数获取。
  • signed_text:待验证的文本。
  • signature:签名数据。
  • plaintext:用于存储验证后的文本。

返回值:

  • 如果验证成功,则返回 TRUE。
  • 如果验证失败,则返回 FALSE。

示例:

<?php
// 初始化GnuPG资源
$gpg = gnupg_init();

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

// 需要验证的文本和签名
$signedText = "Hello, world!";
$signature = "-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iEYEABECAAYFAlI1zXoACgkQO2KABBYQAh+4lACgq5yC0TYw6u6K0+YyXbv/6t1Q
ImsAn2f3b1B/2W2k5K2dXcduyqyZiQsD
=4tJ2
-----END PGP SIGNATURE-----";

// 验证签名
if (gnupg_verify($gpg, $signedText, $signature, $plaintext)) {
    echo "签名验证成功!";
    echo "验证后的文本为:" . $plaintext;
} else {
    echo "签名验证失败!";
}
?>

注意事项:

  • 在使用 gnupg_verify() 函数之前,需要先通过 gnupg_init() 函数初始化 GnuPG 资源。
  • 签名数据必须是 ASCII-armored 格式(以 "-----BEGIN PGP SIGNATURE-----" 开头,以 "-----END PGP SIGNATURE-----" 结尾)。
  • 在验证成功后,验证后的文本将存储在传递给函数的 &$plaintext 参数中。
补充纠错
上一个函数: grapheme_extract()函数
下一个函数: gnupg_sign()函数
热门PHP函数
分享链接