函式名稱: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擴充套件。