2024 年 PHP 日本研討會

hash_update

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update將資料輸入到作用中的雜湊計算環境

說明

hash_update(HashContext $context, 字串 $data): true

參數

context

hash_init() 返回的雜湊計算環境。

data

要包含在雜湊摘要中的訊息。

回傳值

永遠回傳 true

更新日誌

版本 說明
8.4.0 現在的返回類型是 true 而不是 bool
7.2.0 接受 HashContext 物件,而不是資源。

參見

新增筆記

使用者貢獻的筆記 1 則筆記

6
Dainichi
18 年前
一個簡單的漸進式檔案雜湊範例

$fp = fopen($file, "r");
$ctx = hash_init('sha256');
while (!feof($fp)) {
$buffer = fgets($fp, 65536);
hash_update($ctx, $buffer);
}
$hash = hash_final($ctx, true);
fclose($fp);

雖然漸進式雜湊相當慢,但它是雜湊最簡單的方法
- 大型檔案的部分內容:例如,一個 700MB 的 avi 影片使用前 x 個位元組來儲存詮釋資料,因此為了僅對 avi 的資料進行雜湊,您必須 fseek 到資料的起始位置並使用漸進式雜湊
- 如果 php 只是代理資料,則串流資料
- 無法或不適合將要雜湊的資料儲存在記憶體(例如,因為它們的大小)或磁碟上的任何情況。
To Top