sodium_crypto_auth

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth计算消息的标记

描述

sodium_crypto_auth(string $message, #[\SensitiveParameter] string $key): string

通过 sodium_crypto_auth() 进行的对称消息身份验证提供完整性,但不提供机密性。

与数字签名(例如 sodium_crypto_sign_detached())不同,任何能够验证消息的方也能够对自己的消息进行身份验证。(因此,对称身份验证。)

参数

message

您要进行身份验证的消息

key

身份验证密钥

返回值

身份验证标记

添加笔记

用户贡献笔记 1 个笔记

craig at craigfrancis dot co dot uk
5 年前
这是一个关于如何使用 sodium_crypto_auth(); 的快速示例,其中您需要签署一条消息,以便任何能够访问*共享*密钥的人都能确认该消息没有被篡改。

这类似于 sodium_crypto_sign_detached(),但签名者和验证者都拥有相同的密钥。

<?php

$key
= sodium_crypto_auth_keygen();

//--------------------------------------------------
// 签署者

$message = 'Hello';

$signature = sodium_crypto_auth($message, $key);

//--------------------------------------------------
// 验证者

$message_valid = sodium_crypto_auth_verify($signature, $message, $key);

if (!
$message_valid) {
exit(
'Message has been changed.');
}

?>
To Top