PHP - Funzione Hash init ()

Definizione e utilizzo

Il hash_init() funzione inizializza un hashcontext incrementale che può essere utilizzato con altre funzioni hash come hash_update (), hash_final () ecc. Accetta input come algoritmo hash e l'output come contesto hash.

Viene generato un hashContext in base a hash_algo utilizzato all'interno di hash_init (). Puoi aggiornare i tuoi dati o messaggi con hashcontext usando la funzione hash_update () e ottenere l'hash finale usando hash_final ().

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

algo

Nome dell'algoritmo di hashing. C'è una grande lista di algoritmi disponibili con hash, alcuni importanti sono md5, sha256, ecc.

Per ottenere l'elenco completo degli algoritmi supportati utilizzare la funzione hash hash_algos ()

2

options

C'è solo un'opzione supportata e questa è HASH_HMAC. Se utilizzi le opzioni, anche la chiave è obbligatoria.

3

key

Se si utilizza HASH_HMAC come opzione, è necessario fornire anche la chiave e sarà una chiave segreta condivisa che verrà utilizzata con il metodo di hashing HMAC.

Valori restituiti

La funzione hash_init () di PHP restituisce un contesto di hashing. Il contesto hash può essere utilizzato con altre funzioni hash come hash_update (), hash_update_stream (), hash_update_file () e hash_final ().

Versione PHP

Questa funzione funzionerà dalla versione PHP successiva alla 5.1.2.

Esempio 1

Per generare un contesto di hashing:

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

Produzione

Questo produrrà il seguente risultato:

e4310012c89a4b8479fd83694a2a3a31

Esempio 2

Usare 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);
?>

Questo produrrà il seguente risultato:

6211420491a571f89f970683221d4480<br/>d0b25da996bf035057aba79082c53b30