函数名:sodium_crypto_generichash_final()
函数描述:sodium_crypto_generichash_final() 函数用于完成通用哈希的计算并返回哈希值。
适用版本:PHP 7.2.0 及以上版本
用法: string sodium_crypto_generichash_final ( resource $state [, int $length = SODIUM_CRYPTO_GENERICHASH_BYTES ] )
参数:
- $state: 一个 sodium_crypto_generichash_init() 返回的状态对象。
- $length (可选): 哈希值的长度,默认为 SODIUM_CRYPTO_GENERICHASH_BYTES(32 字节)。
返回值: 返回一个二进制字符串,表示计算完成的哈希值。
示例:
$key = 'a very secret key';
$message = 'This is a message to be hashed';
$state = sodium_crypto_generichash_init($key);
sodium_crypto_generichash_update($state, $message);
$hash = sodium_crypto_generichash_final($state);
echo bin2hex($hash); // 输出哈希值的十六进制表示
在上面的示例中,我们首先初始化了一个通用哈希状态对象 $state
,然后使用 sodium_crypto_generichash_update()
函数将待哈希的消息 $message
添加到状态中。最后,使用 sodium_crypto_generichash_final()
函数完成哈希计算并返回哈希值。
请注意,如果不指定哈希值的长度 $length
,默认情况下哈希值的长度为 32 字节。你可以根据需要调整长度,但要确保使用相同的长度来验证哈希值。