这是一个关于如何使用 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.');
}
?>