以下是如何使用 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('訊息已被更改。');
}
?>