函數(shù)名:hash_final()
適用版本:PHP 5 >= 5.1.2, PHP 7, PHP 8
用法:hash_final() 函數(shù)用于獲取已計算的哈希值的最終結(jié)果。
語法:string hash_final ( resource $context [, bool $raw_output = FALSE ] )
參數(shù):
- context:必需。由 hash_init() 函數(shù)返回的哈希計算上下文。
- raw_output:可選。如果設(shè)置為 TRUE,則返回原始二進制數(shù)據(jù);如果設(shè)置為 FALSE(默認值),則返回十六進制字符串。
返回值:返回哈希計算的最終結(jié)果,根據(jù) raw_output 參數(shù)的設(shè)置可能是二進制數(shù)據(jù)或十六進制字符串。
示例:
// 創(chuàng)建哈希計算上下文
$context = hash_init('md5');
// 更新哈希計算上下文
hash_update($context, 'Hello');
// 獲取最終結(jié)果(十六進制字符串)
$hash = hash_final($context);
echo $hash; // 輸出:8b1a9953c4611296a827abf8c47804d7
// 獲取最終結(jié)果(原始二進制數(shù)據(jù))
$hash = hash_final($context, true);
echo bin2hex($hash); // 輸出:8b1a9953c4611296a827abf8c47804d7
在上面的示例中,我們首先使用 hash_init() 函數(shù)創(chuàng)建一個哈希計算上下文,指定要使用的哈希算法為 MD5。然后使用 hash_update() 函數(shù)更新哈希計算上下文,傳入要計算哈希值的數(shù)據(jù)。最后,使用 hash_final() 函數(shù)獲取最終的哈希結(jié)果,可以選擇返回十六進制字符串或原始二進制數(shù)據(jù)。
注意:在使用 hash_final() 函數(shù)之后,哈希計算上下文將被重置,并且不能再使用該上下文進行進一步的哈希計算。