hash_update

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

hash_updateAñade datos en el contexto de hash activo

Descripción

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

Parámetros

context

Contexto de hash devuelto por hash_init().

data

Mensaje que será incluido en la huella de hash.

Valores devueltos

Siempre devuelve true.

Historial de cambios

Versión Descripción
8.4.0 Posee ahora un tipo de retorno true en lugar de bool.
7.2.0 Acepta una HashContext en lugar de un recurso.

Ver también

  • hash_init() - Inicializa un contexto de hachado incremental
  • hash_update_file() - Se añaden datos en un contexto de hash activo a partir de un fichero
  • hash_update_stream() - Añade datos en un contexto de hash activo de un flujo abierto
  • hash_final() - Finaliza un hachaje incremental y devuelve el resultado de la huella digital

add a note

User Contributed Notes 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