Se encuentra en:
Manejo de las contraseñas perdidas en PHP
RECU-0582 (Recurso Ejemplo)
- Área: Control de Acceso y Autenticación
- Carácter del recurso: Obligatorio
Descripción
En este ejemplo se describe, en PHP, cómo generar una nueva contraseña, utilizando un número aleatorio y un algoritmo hash sha256 para encriptarla. Enviándola por email a un usuario que ha perdido su anterior contraseña.
Ejemplos
<?php
/* Generate new password. */
$new_password = '';
for ($i = 0; $i < 8; $i++) {
$new_password .= chr(mt_rand(33, 126));
}
/* Define a salt. */
define('SALT', 'flyingturtle');
/* Encrypt new password. */
$encrypted_password = hash('sha256',SALT . $new_password);
/* Save new encrypted password to the database. */
$st = $db->prepare('UPDATE users
SET password = ?
WHERE username = ?');
$st->execute(array($encrypted_password, $clean['username']));
/* Email new plain text password to user. */
mail($clean['email'], 'New Password', "Your new password is: $new_password");
?>
Contenidos relacionados
Pautas
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0285 | Manejo de contraseñas perdidas | Libro de pautas | Directriz | Obligatoria |