¿Cómo usar correctamente bcrypt para hashing de contraseñas en PHP?
Hola a todos. Soy un desarrollador PHP principiante y actualmente estoy trabajando en un sistema de registro y autenticación de usuarios. Leí que almacenar contraseñas en texto plano es una muy mala práctica y que se debe usar hashing. Encontré información sobre bcrypt, pero no entiendo del todo cómo aplicarlo correctamente en PHP.
Probé usar password_hash() y password_verify(), pero no estoy seguro de estar haciéndolo bien. Aquí un ejemplo de mi código:
<?php
// Registro
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);
// Guardo $hash en la base de datos...
// Autenticación
$input_password = $_POST['password'];
$stored_hash = // obtengo de la base de datos
if (password_verify($input_password, $stored_hash)) {
echo "¡Éxito!";
} else {
echo "Contraseña incorrecta";
}
?>
Tengo varias preguntas:
- ¿Es suficiente usar simplemente
PASSWORD_DEFAULTo es necesario especificar explícitamente