2024 日本 PHP 研討會

sodium_crypto_auth

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth計算訊息的標籤

說明

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

透過 sodium_crypto_auth() 進行對稱訊息驗證可提供完整性,但不提供機密性。

與數位簽章(例如 sodium_crypto_sign_detached())不同,任何能夠驗證訊息的一方也能夠驗證自己的訊息。(因此,稱為對稱驗證。)

參數

message

您要驗證的訊息

key

驗證金鑰

回傳值

驗證標籤

新增註解

使用者貢獻的註解 1 則註解

craig at craigfrancis dot co dot uk
6 年前
以下是如何使用 sodium_crypto_auth() 的快速範例;您有一條要簽名的訊息,因此任何可以存取 *共用* 金鑰的人都可以確認訊息未被竄改。

這類似於 sodium_crypto_sign_detached(),但簽名者和驗證者都可以存取相同的金鑰。

<?php

$key
= sodium_crypto_auth_keygen();

//--------------------------------------------------
// 使用者 1,簽名

$message = 'Hello';

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

//--------------------------------------------------
// 使用者 2,驗證

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

if (!
$message_valid) {
exit(
'訊息已被更改。');
}

?>
To Top