hash_update

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

hash_update将数据注入活动的哈希上下文

描述

hash_update(HashContext $context, string $data): true

参数

context

hash_init() 返回的哈希上下文。

data

要包含在哈希摘要中的消息。

返回值

始终返回 true

变更日志

版本 描述
7.2.0 接受 HashContext 而不是资源。

参见

添加备注

用户贡献的备注 1 个备注

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