Para insertar un usuario con una contraseña hasheada en una base de datos usando PDO (PHP Data Objects), puedes seguir los siguientes pasos:
- Asegúrate de tener la librería de hash de contraseñas de PHP (password_hash) incluida en tu código. Puedes hacer esto usando la función require_once o include_once.
- Crea una conexión a tu base de datos usando PDO. Puedes hacer esto con el siguiente código:
...
$host = 'localhost';
$dbname = 'nombre_de_tu_base_de_datos';
$username = 'nombre_de_usuario';
$password = 'contraseña';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Error de conexión: " . $e->getMessage();
}
Hashea la contraseña del usuario usando la función password_hash. Esto te devolverá una cadena hasheada que puedes almacenar en la base de datos.
$password = 'contraseña_del_usuario';
$password_hashed = password_hash($password, PASSWORD_DEFAULT);
Prepara una consulta SQL para insertar el usuario y la contraseña hasheada en la base de datos. Esto puede hacerse con el siguiente código:
$sql = "INSERT INTO usuarios (nombre_de_usuario, contraseña) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
Ejecuta la consulta usando los valores del usuario y la contraseña hasheada.
$stmt->execute([$nombre_de_usuario, $password_hashed]);
Es importante tener en cuenta que debes usar un algoritmo de hash seguro para proteger las contraseñas de tus usuarios. La función password_hash de PHP utiliza un algoritmo seguro por defecto, pero es recomendable especificar el algoritmo que se va a usar para asegurarte de que tu código siga siendo seguro incluso cuando los algoritmos se vuelvan obsoletos. Por ejemplo, puedes usar PASSWORD_BCRYPT en lugar de `PASSWORD

0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias