函数名称:sodium_crypto_auth_verify()
适用版本:PHP 7.2.0及以上
函数说明:sodium_crypto_auth_verify()函数用于验证消息的认证标签是否与原始消息匹配。它使用sodium_crypto_auth()函数生成的认证标签来验证消息的完整性和真实性。
用法: bool sodium_crypto_auth_verify(string $mac, string $message, string $key): bool
参数:
- $mac:要验证的认证标签,以字符串形式传递。
- $message:原始消息,以字符串形式传递。
- $key:用于生成认证标签的密钥,以字符串形式传递。
返回值:
- 如果认证标签与原始消息匹配,则返回true;否则返回false。
示例:
<?php
$key = sodium_crypto_auth_keygen(); // 生成一个随机的密钥
$message = "Hello, world!";
$mac = sodium_crypto_auth($message, $key); // 生成认证标签
$isValid = sodium_crypto_auth_verify($mac, $message, $key); // 验证认证标签是否匹配
if ($isValid) {
echo "认证标签有效!";
} else {
echo "认证标签无效!";
}
?>
上述示例中,我们首先生成一个随机的密钥,然后使用sodium_crypto_auth()函数生成消息的认证标签。接下来,我们使用sodium_crypto_auth_verify()函数验证认证标签是否与原始消息匹配。最后,根据验证结果输出相应的信息。
请注意,为了使用sodium_crypto_auth_verify()函数,您的PHP版本必须为7.2.0或更高,并且必须安装并启用了Sodium扩展。