Sintaxis:
cadena | false contraseña_hash (cadena $ contraseña, cadena | int | null $ algo [, array $ options = []])El primer argumento es obligatorio, y se usa para tomar el valor de la cadena que se ha asaltado.
El segundo argumento es obligatorio, y se utiliza para tomar el entero o cadena que se refiere a un algoritmo, que se utilizará para crear el hash de contraseña. Esta función actualmente admite los siguientes algoritmos.
Contraseña_default:
Utiliza el algoritmo BCrypt para generar el hash de contraseña.
Contraseña_bcrypt:
Utiliza el algoritmo crypto_blowfish para generar el hash de contraseña.
Contraseña_argon2i:
Utiliza el algoritmo de hashing Argon2i para generar el hash de contraseña, y se puede usar si PHP se ha compilado con Soporte de Argon2.
Contraseña_argon2id:
Utiliza el algoritmo de hashing Argon2id para generar el hash de contraseña, y se puede usar si PHP se ha compilado con Soporte de Argon2.
El tercer argumento es opcional, y se utiliza para definir una matriz que contiene las opciones compatibles del algoritmo usado.
Las siguientes opciones son compatibles con el algoritmo contraseña_bcrypt.
sal:
Esta opción está en desuso ahora. El valor de sal que se genera por defecto es mejor usar.
costo:
Se usa para definir el costo del algoritmo que debe usarse. El valor predeterminado es 10.
Las siguientes opciones son compatibles con los algoritmos contraseña_argon2i y contraseña_argon2id.
memoria_cost:
Se usa para definir la memoria máxima en KB que se puede usar para generar el hash de contraseña utilizando el hash Argon2.
Time_cost:
Se usa para definir la cantidad máxima de tiempo que se puede utilizar para generar el hash de contraseña utilizando el hash Argon2.
hilos:
Se utiliza para definir el número de hilos para generar el hash de contraseña usando el hash Argon2.
La función devuelve la contraseña de hash en el éxito o falso en la falla.
Password_hash () Ejemplos de funciones
Los usos de la función contraseña_hash () para crear contraseñas hash han estado en la siguiente parte del tutorial.
Ejemplo-1: cree una contraseña hash utilizando el algoritmo hash predeterminado
Cree un archivo PHP con el siguiente script que generará un valor hash de una contraseña utilizando la función contraseña_hash (), y el algoritmo de hashing predeterminado se ha utilizado aquí. Las cadenas de contraseña originales y de hash se imprimirán como salida del script.
// Establecer el valor de la contraseñaProducción:
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-2: Crear contraseña hash utilizando el valor de costo y el algoritmo de contraseña_bcrypt
Cree un archivo PHP con el siguiente script que generará un valor hash de una contraseña utilizando la función contraseña_hash (). El algoritmo contraseña_bcrypt y el valor de costo se han utilizado en la función contraseña_hash () para generar la contraseña hashed. La cadena de contraseña original y hash se imprimirá como la salida del script.
// Establecer el valor de la contraseñaProducción:
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-3: cree una contraseña hash utilizando el algoritmo contraseña_argon2i
Cree un archivo PHP con el siguiente script que generará un valor hash de una contraseña utilizando la función contraseña_hash (). El algoritmo contraseña_argon2i se ha utilizado en la función contraseña_hash () para generar la contraseña hashed. Las cadenas de contraseña originales y de hash se imprimirán como salida del script.
// Establecer el valor de la contraseñaProducción:
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-4: usando la función contraseña_hash () con la función contraseña_verify ()
Cree un archivo PHP con el siguiente script para verificar la contraseña de hash utilizando la función contraseña_verify () después de generar la contraseña hash desde un datos de cadena usando la función contraseña_hash (). La contraseña se tomará del parámetro URL y verificará si la contraseña es válida utilizando el valor de la contraseña y los valores de contraseña de hash en los argumentos de la función contraseña_verify (). Si esta función devolverá verdadero, entonces la contraseña es válida; De lo contrario, la contraseña no es válida.
// Establecer el valor de la contraseñaProducción:
Después de ejecutar el script anterior sin el parámetro URL, aparecerá la siguiente salida.
http: // localhost/php/pass4.php
La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro URL ',', 'contraseña secreta', y la contraseña de hash se generó para este valor en el script. Entonces, la contraseña es válida.
http: // localhost/php/pass4.php?contraseña = SecretPassword
La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro URL ',', 'secreto' inválido.
http: // localhost/php/pass4.php?contraseña = secreto
Conclusión
Se han mostrado diferentes formas de crear una contraseña hash utilizando la función contraseña_hash () en los ejemplos de este tutorial para ayudar a los usuarios de PHP a aplicar esta función correctamente en su script.