Sintassi:
String | False password_hash (string $ password, string | int | null $ algo [, array $ options = []])Il primo argomento è obbligatorio e viene utilizzato per prendere il valore della stringa che verrà hash.
Il secondo argomento è obbligatorio e viene utilizzato per prendere l'intero o la stringa che si riferisce a un algoritmo, che verrà utilizzato per creare l'hash della password. Questa funzione attualmente supporta i seguenti algoritmi.
Password_default:
Utilizza l'algoritmo BCrypt per generare l'hash della password.
Password_bcrypt:
Utilizza l'algoritmo Crypt_Blowfish per generare l'hash della password.
Password_argon2i:
Utilizza l'algoritmo di hashing Argon2i per generare l'hash della password e può essere utilizzato se PHP è stato compilato con il supporto Argon2.
Password_argon2id:
Utilizza l'algoritmo di hashing Argon2ID per generare l'hash della password e può essere utilizzato se PHP è stato compilato con il supporto Argon2.
Il terzo argomento è facoltativo e viene utilizzato per definire un array che contiene le opzioni supportate dell'algoritmo usato.
Le seguenti opzioni sono supportate dall'algoritmo password_bcrypt.
sale:
Questa opzione è ora deprecata. Il valore salato generato per impostazione predefinita è meglio utilizzare.
costo:
È usato per definire il costo dell'algoritmo che dovrebbe essere utilizzato. Il valore predefinito è 10.
Le seguenti opzioni sono supportate dagli algoritmi password_argon2i e password_argon2id.
memory_cost:
Viene utilizzato per definire la memoria massima in KB che può essere utilizzata per generare l'hash della password utilizzando l'hash Argon2.
time_cost:
Viene utilizzato per definire il tempo massimo che può essere utilizzato per generare l'hash della password utilizzando l'hash Argon2.
Discussioni:
Viene utilizzato per definire il numero di thread per generare l'hash della password utilizzando l'hash Argon2.
La funzione restituisce la password hash su successo o falso su errore.
Esempi di funzioni password_hash ()
Gli usi della funzione password_hash () per creare password hash sono stati nella prossima parte del tutorial.
Esempio-1: crea una password hashing utilizzando l'algoritmo hash predefinito
Crea un file PHP con il seguente script che genererà un valore hash di una password utilizzando la funzione password_hash () e l'algoritmo di hashing predefinito è stato utilizzato qui. Le stringhe di password originale e hash verranno stampate come output dello script.
// Imposta il valore della passwordProduzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.
Esempio-2: creare password hashing utilizzando il valore di costo e l'algoritmo di password_bcrypt
Crea un file PHP con il seguente script che genererà un valore hash di una password utilizzando password_hash (). L'algoritmo password_bcrypt e il valore di costo sono stati utilizzati nella funzione password_hash () per generare la password hash. Sia la stringa di password originale che hash verrà stampata come output dello script.
// Imposta il valore della passwordProduzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.
Esempio-3: crea una password hashing utilizzando l'algoritmo password_argon2i
Crea un file PHP con il seguente script che genererà un valore hash di una password utilizzando la funzione password_hash (). L'algoritmo password_argon2i è stato utilizzato nella funzione password_hash () per generare la password hash. Le stringhe di password originale e hash verranno stampate come output dello script.
// Imposta il valore della passwordProduzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.
Esempio-4: usando la funzione password_hash () con password_verify ()
Crea un file PHP con il seguente script per verificare la password hashing utilizzando la funzione password_verify () dopo aver generato la password hash da un dati di stringa utilizzando la funzione password_hash (). La password verrà presa dal parametro URL e verificata se la password è valida utilizzando il valore della password e i valori della password hash negli argomenti della funzione password_verify (). Se questa funzione restituirà true, la password è valida; Altrimenti, la password non è valida.
// Imposta il valore della passwordProduzione:
Dopo aver eseguito lo script sopra senza il parametro URL, verrà visualizzato il seguente output.
http: // localhost/php/pass4.PHP
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra con il valore del parametro URL, "SecretPassword ', e la password hash è stata generata per questo valore nello script. Quindi, la password è valida.
http: // localhost/php/pass4.PHP?Password = SecretPassword
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra con il valore del parametro URL, "segreto' non valido.
http: // localhost/php/pass4.PHP?password = segreto
Conclusione
Diversi modi di creare una password hash utilizzando la funzione password_hash () sono stati mostrati negli esempi di questo tutorial per aiutare gli utenti PHP ad applicare questa funzione correttamente nel proprio script.