PHP 8.4.1 Released!

hash_update

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

hash_updatePump data into an active hashing context

Descrição

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

Parâmetros

context

Hashing context returned by hash_init().

data

Message to be included in the hash digest.

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
7.2.0 Accept HashContext instead of resource.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
5
Dainichi
18 years ago
A simple example on incremental file hashing:

$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);

While incremental hashing is quite slow, it's the easiest way to hash
- parts of large files: I.e., a 700MB avi video uses first x bytes to store metadata, so in order to hash the avi's data only, you have to fseek to data start and use incremental hashing
- streaming data if php just proxies the data
- whenever it's inadequate or impossible to store the data being hashed into memory (i.e. because of their size) or on disc.
To Top