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