函式名稱:sodium_crypto_generichash_update()
適用版本:PHP 7.2.0 及以上版本
函式說明:sodium_crypto_generichash_update() 函式用於更新一個已經初始化的雜湊物件的狀態。該函式可以被多次呼叫以依次處理輸入資料的不同部分。
語法:sodium_crypto_generichash_update(resource &$state, string $message): bool
引數:
- $state:一個雜湊狀態物件,使用sodium_crypto_generichash_init()函式初始化。
- $message:要新增到雜湊狀態物件中的輸入資料。
返回值:如果成功更新雜湊狀態物件,則返回 true。否則,返回 false。
示例:
// 初始化雜湊狀態物件
$state = sodium_crypto_generichash_init();
// 新增輸入資料到雜湊狀態物件中
$message = "Hello, World!";
sodium_crypto_generichash_update($state, $message);
// 繼續新增更多輸入資料
$message2 = "Lorem ipsum dolor sit amet";
sodium_crypto_generichash_update($state, $message2);
// 獲取最終雜湊值
$hash = sodium_crypto_generichash_final($state);
// 輸出雜湊值
echo bin2hex($hash);
以上示例演示瞭如何使用 sodium_crypto_generichash_update() 函式將不同的輸入資料新增到雜湊狀態物件中,然後使用 sodium_crypto_generichash_final() 函式獲取最終的雜湊值。請注意,在呼叫 sodium_crypto_generichash_final() 函式之前,必須透過 sodium_crypto_generichash_init() 函式初始化雜湊狀態物件。
需要注意的是,示例中的輸入資料是字串型別,但該函式也可以接受其他型別的資料,如二進位制資料。