牛牛在线工具

openssl_verify()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_verify()

验证通过 openssl_sign() 函数签名的数据

函数名:openssl_verify() 适用版本:PHP 4 >= 4.0.4, PHP 5, PHP 7 用法:openssl_verify(string $data, string $signature, mixed $public_key, int $algorithm = OPENSSL_ALGO_SHA256): int|bool 说明:openssl_verify() 函数用于验证通过 openssl_sign() 函数签名的数据。它通过使用公钥和签名来验证数据的完整性和真实性。 参数: $data:要验证的数据,通常是原始数据的哈希值。 $signature:签名数据。 $public_key:公钥,通常是证书文件路径或者公钥字符串。 $algorithm:可选参数,指定使用的哈希算法,默认为 OPENSSL_ALGO_SHA256。 返回值: 如果签名验证成功,返回1; 如果签名验证失败,返回0; 如果发生错误,返回-1。 示例: <?php // 原始数据 $data = "Hello, world!"; // 签名数据 $signature = base64_decode("..."); // 公钥 $public_key = file_get_contents("public_key.pem"); // 验证签名 $result = openssl_verify($data, $signature, $public_key); if ($result == 1) { echo "签名验证成功!"; } elseif ($result == 0) { echo "签名验证失败!"; } else { echo "发生错误:" . openssl_error_string(); } ?> 上述示例中,我们首先定义了原始数据、签名数据和公钥。然后,使用 openssl_verify() 函数来验证签名。如果返回值为1,则表示签名验证成功;如果返回值为0,则表示签名验证失败;如果返回值为-1,则表示发生了错误,我们可以通过 openssl_error_string() 函数获取具体的错误信息。