Después de muchos comentarios, preguntándome como encriptar contraseñas en PHP, voy a escribir esta pequeña entrada, para poder hacerlo de una manera muy sencilla.
En los primeros años de la creación de páginas webs, se enviaban las contraseñas por texto plano y pronto vieron los hackers un nicho donde meter el pico y hacer travesuras.
Debido a ello se empezaron a utilizar métodos de encriptación, para el tutorial yo voy a utilizarlas funciones standard de php password-hash y password-verify , disponibles desde la versión 5.5.0.
Vamos a crear dos ficheros generaHash.php y compruebaHash.php.
En generaHash.php, crearemos un hash para la contraseña «imposible» con este código.
<?php
echo "PASSWORD CIFRADA";
echo "<br>";
$hash=password_hash("imposible", PASSWORD_DEFAULT);
echo "HASH: " . $hash;
?>
Ejecutando el fichero generaHash.php veremos por pantalla el hash generado:
En el fichero compruebaHash.php lo que haremos es introducir el hash creado antes y ver como se valida el acceso.
<?php
$hash='$2y$10$nJmmNnlBfRPd55FCj3vjmuZifgQrOrY5Gf6SDAY0iEDU0TiQ0Kbh2';
if (password_verify('imposible', $hash)) {
echo '¡La contraseña es válida!';
} else {
echo 'La contraseña no es válida.';
}
?>
Ejecutando el fichero compruebaHash.php vemos que el hash es válido.