函数名:hash_final()
适用版本:PHP 5 >= 5.1.2, PHP 7, PHP 8
用法:hash_final() 函数用于获取已计算的哈希值的最终结果。
语法:string hash_final ( resource $context [, bool $raw_output = FALSE ] )
参数:
- context:必需。由 hash_init() 函数返回的哈希计算上下文。
- raw_output:可选。如果设置为 TRUE,则返回原始二进制数据;如果设置为 FALSE(默认值),则返回十六进制字符串。
返回值:返回哈希计算的最终结果,根据 raw_output 参数的设置可能是二进制数据或十六进制字符串。
示例:
// 创建哈希计算上下文
$context = hash_init('md5');
// 更新哈希计算上下文
hash_update($context, 'Hello');
// 获取最终结果(十六进制字符串)
$hash = hash_final($context);
echo $hash; // 输出:8b1a9953c4611296a827abf8c47804d7
// 获取最终结果(原始二进制数据)
$hash = hash_final($context, true);
echo bin2hex($hash); // 输出:8b1a9953c4611296a827abf8c47804d7
在上面的示例中,我们首先使用 hash_init() 函数创建一个哈希计算上下文,指定要使用的哈希算法为 MD5。然后使用 hash_update() 函数更新哈希计算上下文,传入要计算哈希值的数据。最后,使用 hash_final() 函数获取最终的哈希结果,可以选择返回十六进制字符串或原始二进制数据。
注意:在使用 hash_final() 函数之后,哈希计算上下文将被重置,并且不能再使用该上下文进行进一步的哈希计算。