Uso delle funzioni di hash in PHP

Uso delle funzioni di hash in PHP
La sicurezza dei dati è molto importante per qualsiasi applicazione. L'accesso non autorizzato dei dati può danneggiare i dati preziosi dell'applicazione. Se i dati possono essere protetti applicando una crittografia corretta, è possibile prevenire l'accesso non autorizzato dei dati. Ad esempio, la password del nuovo utente richiede di crittografare prima di archiviare nel database per evitare facilmente l'accesso non autorizzato dell'utente. Un modo di crittografia è utilizzare la funzione hash. Esistono molte funzioni di hash integrate in PHP per crittografare i dati. Crittografa i dati senza modificarne il significato originale. Alcune funzioni hash comunemente usate di PHP sono MD5 (), Sha1 () e Hash (). Gli usi di queste funzioni sono spiegati in questo tutorial.

funzione md5 ()

La funzione md5 () utilizza l'algoritmo di digest di messaggi per la crittografia. Questa funzione calcola il valore hash MD5 del valore originale. La sintassi di questa funzione è riportata di seguito.

Sintassi:

String MD5 (String $ String, [bool $ raw])

Questa funzione può richiedere due argomenti. Il primo argomento è obbligatorio che viene utilizzato per prendere il valore della stringa che verrà crittografato. Il secondo argomento è facoltativo che viene utilizzato per archiviare qualsiasi valore booleano. La funzione restituisce un numero esadecimale a 32 bit se l'argomento facoltativo non viene utilizzato e restituisce un numero esadecimale a 16 bit se il valore opzionale è vero.

Esempio: uso di md5 ()

L'esempio seguente mostra l'uso del md5 () funzione per crittografare qualsiasi dati. Crea un file PHP con il seguente script per vedere come funziona questa funzione.

Nella sceneggiatura, $ originale_string La variabile viene utilizzata per archiviare un valore di stringa che viene crittografato in seguito utilizzando il md5 () funzione. Sia il valore originale che i valori crittografati saranno stampati dopo aver eseguito lo script.

// Definisci un valore di stringa
$ originale_string = 'linuxhint';
// Stampa il valore originale
eco "

I dati originali:

". $ originale_string;
// crittografa il valore della stringa
$ cripted_string = md5 ($ original_string);
// Stampa il valore crittografato
eco "

I dati crittografati dopo aver utilizzato MD5 ():

$ cripted_string ";
?>

Produzione:
Verrà visualizzato il seguente output dopo l'esecuzione dello script dal server. Nessun argomento opzionale viene utilizzato nella funzione MD5 (). Quindi, l'output mostra numeri esadecimali a 32 bit come output.

funzione sha1 ()

Questa funzione utilizza l'algoritmo hash sicuro 1 per la crittografia. La sintassi di questa funzione è riportata di seguito.

Sintassi:

String sha1 (String $ String, [bool $ raw])

Questa funzione può richiedere due argomenti come l'algoritmo di hashing md5 (). Il primo argomento prende il valore della stringa che verrà crittografato. L'argomento opzionale prende qualsiasi valore booleano. Se non viene superato alcun argomento opzionale, la funzione restituisce un numero esadecimale di 40 caratteri. Se il valore opzionale è impostato su true, la funzione restituisce dati binari grezzi.

Esempio: uso di sha1 ()

L'esempio seguente mostra l'uso del sha1 () funzione per crittografare qualsiasi dati. Crea un file PHP con il seguente script per vedere come funziona questa funzione.

Nella sceneggiatura, $ originale_string La variabile viene utilizzata per archiviare un valore di stringa che viene crittografato in seguito utilizzando il sha1 () funzione con e senza l'argomento opzionale. Sia il valore originale che i valori crittografati saranno stampati dopo aver eseguito lo script.

// Definisci un valore di stringa
$ originale_string = 'linuxhint';
// Stampa il valore originale
eco "

I dati originali:

". $ originale_string;
// crittografa il valore della stringa
$ cripted_string = sha1 ($ originale_string);
// Stampa il valore crittografato
eco "

I dati crittografati dopo aver utilizzato Sha1 ():

$ cripted_string ";
// crittografa il valore della stringa
$ cripted_string2 = sha1 ($ originale_string, true);
// Stampa il valore crittografato
eco "

I dati crittografati dopo aver utilizzato Sha1 () con argomento opzionale:

$ cripted_string2 ";
?>

Produzione:
Verrà visualizzato il seguente output dopo l'esecuzione dello script dal server. Mostra un numero esadecimale di 40 caratteri quando non viene utilizzato alcun argomento facoltativo nel sha1 () la funzione e l'output mostrano dati grezzi quando vere viene utilizzato nel valore dell'argomento opzionale di lo sha1 () funzione.

funzione hash ()

La funzione hash () viene utilizzata per generare il valore hash della stringa particolare in base a qualsiasi algoritmo di hashing. La sintassi di questa funzione è riportata di seguito.

String o false hash (algoritmo String $, String $ Data [, bool $ binary = false])

Questa funzione può richiedere tre argomenti. Il primo argomento prende il nome dell'algoritmo che verrà utilizzato per generare il valore hash del valore della stringa indicato nel secondo argomento. Il terzo argomento è facoltativo. Questa funzione restituisce cifre esagonali minuscole se il valore opzionale è falso e restituisce dati binari grezzi se il valore opzionale è vero. Molti algoritmi di hash esistono in PHP per generare dati di hash utilizzando la funzione hash (). hash_alogs () La funzione può essere utilizzata per scoprire l'elenco degli algoritmi di hash esistenti.

Esempio: uso di hash ()

Il seguente esempio mostra l'uso della funzione hash () per generare il valore hash usando un particolare algoritmo di hashing. Crea un file PHP con il seguente script per vedere come funziona questa funzione.

'RIPEMD160' L'algoritmo di hashing viene utilizzato nella funzione hash () per generare il valore hash. La funzione Hash () viene utilizzata con e senza l'argomento opzionale nello script. Sia il valore originale che i valori crittografati saranno stampati dopo aver eseguito lo script.

// Definisci un valore di stringa
$ originale_string = 'linuxhint';
// Stampa il valore originale
eco "

I dati originali:

". $ originale_string;
// crittografa il valore della stringa
$ cripted_string = hash ('REPEMD160', $ original_string);
// Stampa il valore crittografato
eco "

I dati crittografati dopo aver utilizzato Hash ():

$ cripted_string ";
// crittografa il valore della stringa
$ cripted_string2 = hash ('RIPEMD160', $ original_string, true);
// Stampa il valore crittografato
eco "

I dati crittografati dopo aver utilizzato Hash () con argomento opzionale:

$ cripted_string2 ";
?>

Produzione:
Verrà visualizzato il seguente output dopo l'esecuzione dello script dal server. Mostra il numero esadecimale come valore di hash quando non viene utilizzato alcun argomento opzionale e i dati grezzi quando l'argomento facoltativo viene utilizzato nella funzione hash ().

Conclusione

I dati importanti sono richiesti crittografia per la realizzazione di qualsiasi sicurezza dell'applicazione Web. In questo tutorial sono mostrati diversi modi per crittografare i dati utilizzando più funzioni di hash di PHP. Gli usi di tre funzioni hash integrate sono spiegati in questo tutorial per generare i dati crittografati utilizzando lo script PHP.