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