Usando la API de codificar contraseñas en PHP 5.5

Hace unos días, en un tutorial veíamos como codificar de forma segura las contraseñas de los usuarios usando crypt(), en esta ocasión veremos una nueva forma más sencilla que estará disponible a partir de la versión 5.5 de PHP.

Atención: Las funciones de la API de hashing de contraseñas solamente están disponibles a partir de la versión 5.5 de PHP.

Codificar la contraseña con password_hash()

La función password_hash() nos permite codificar las contraseñas de forma segura a través de un algoritmo por defecto o usando Blowfish. Por ella podremos pasar 3 datos que serán la contraseña, el tipo de codificación que usaremos PASSWORD_DEFAULT o PASSWORD_BCRYPT y un dato opcional del tipo array en el que podremos pasar cost que indicará el coste algorítmico que deberá usarse y un salt que proporcionaremos para hacer más segura nuestra contraseña : password_hash('contraseña' [string], Tipo de codificación [integer], Opciones [array]);

PASSWORD_DEFAULT

La constante PASSWORD_DEFAULT se usará por defecto si no se le asigna una diferente.

El resultado sería: $2y$10$LemHXGJYwpXX7QzS6376JeiweLYPjWqmRRcK6C9wef44851X3/IMS

PASSWORD_BCRYPT

La constante PASSWORD_BCRYPT utiliza el algoritmo CRYPT_BLOWFISH. Para la opción salt, recuerden utilizar una salt de 22 caracteres (./1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz).

El resultado sería: $2y$08$unodostres1234567890zueRFCuf7lvZbdvxjROglhdmnvqK/Qj9u

Verificar la contraseña con password_verify()

Para verificar la contraseña en el caso de iniciar sesión tendremos que pasar por la función password_verify() la contraseña que ingresó el usuario en el input y el hash de la contraseña guardada en la base de datos.

Usando la función en versiones anteriores de PHP

En el caso de que quisieran utilizar esta función en una versión anterior de PHP (más exacto desde la versión 5.3.7 en adelante) pueden descargar la librería password_compat en el siguiente link.

Descarga

Modificado por última vez el día 25 de diciembre de 2012 a las 20:39

Scroll to top