函式名: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 位元組。你可以根據需要調整長度,但要確保使用相同的長度來驗證雜湊值。