PHP - Función Hash init ()

Definición y uso

los hash_init() función inicializa un hashcontext incremental que se puede usar con otras funciones hash como hash_update (), hash_final (), etc. Toma la entrada como un algoritmo hash y la salida como un contexto hash.

Se genera un hashContext basado en el hash_algo usado dentro de hash_init (). Puede actualizar sus datos o mensaje con el hashcontext usando la función hash_update () y obtener el hash final usando hash_final ().

Sintaxis

hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] ) : HashContext

Parámetros

No Señor Descripción de parámetros
1

algo

Nombre del algoritmo hash. Hay una gran lista de algoritmos disponibles con hash, algunos importantes son md5, sha256, etc.

Para obtener la lista completa de algoritmos compatibles, use la función hash hash_algos ()

2

options

Solo se admite una opción y esa es HASH_HMAC. Si está utilizando opciones, la clave también es obligatoria.

3

key

Si HASH_HMAC se usa como una opción, también se debe proporcionar la clave y será una clave secreta compartida que se usará con el método hash HMAC.

Valores devueltos

La función PHP hash_init () devuelve un contexto hash. El contexto hash se puede utilizar con otras funciones hash como hash_update (), hash_update_stream (), hash_update_file () y hash_final ().

Versión PHP

Esta función funcionará desde la versión de PHP superior a 5.1.2.

Ejemplo 1

Para generar contexto hash:

<?php
   $hash_context = hash_init('md5');
   hash_update($hash_context, 'Testing php');
   hash_update($hash_context, ' hash functions.');
   echo hash_final($hash_context);
?>

Salida

Esto producirá el siguiente resultado:

e4310012c89a4b8479fd83694a2a3a31

Ejemplo 2

Usando hash_init () con hash_copy () -

<?php
   $hash_context = hash_init("md5");
   hash_update($hash_context, "Welcome To Tutorialspoint");
   $hash_copy= hash_copy($hash_context);
   echo hash_final($hash_context);
   echo "<br/>";
   hash_update($hash_copy,  "Welcome To Tutorialspoint");
   echo hash_final($hash_copy);
?>

Esto producirá el siguiente resultado:

6211420491a571f89f970683221d4480<br/>d0b25da996bf035057aba79082c53b30