Salut,2- Si l'utilisateur a perdu son mot de passe, on peut l'envoyer par e-mail afin qu'il puisse se connecter.
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
Pour l'authentification, il te suffit de crypter le mot de passe saisi par l'utilisateur et de le comparer avec ceux que tu as déjà en base :Merci Ryle pour la réponse, alors ce que je veux faire en claire c'est:
1- Vérifier le mot de passe crypte dans la BD est le même saisi
2- Si l'utilisateur a perdu son mot de passe, on peut l'envoyer par e-mail afin qu'il puisse se connecter.
$sql = "SELECT * FROM membres WHERE username='$username' AND pass = AES_ENCRYPT('".$cle."','".$pass."')";
Pour l'utilisateur qui a perdu son mot de passe, il te suffit de faire un
SELECT AES_DECRIPT('".$cle."', pass) FROM ... pour récupérer le mot de passe décrypté de l'utilisateur (reste plus ensuite qu'à lui envoyer par mail par exemple Malheureusement ca ne me retourne pas le mot de passe:Pour l'authentification, il te suffit de crypter le mot de passe saisi par l'utilisateur et de le comparer avec ceux que tu as déjà en base :Merci Ryle pour la réponse, alors ce que je veux faire en claire c'est:
1- Vérifier le mot de passe crypte dans la BD est le même saisi
2- Si l'utilisateur a perdu son mot de passe, on peut l'envoyer par e-mail afin qu'il puisse se connecter.Pour l'utilisateur qui a perdu son mot de passe, il te suffit de faire un$sql = "SELECT * FROM membres WHERE username='$username' AND pass = AES_ENCRYPT('".$cle."','".$pass."')";pour récupérer le mot de passe décrypté de l'utilisateur (reste plus ensuite qu'à lui envoyer par mail par exempleSELECT AES_DECRIPT('".$cle."', pass) FROM ...)
Ceci étant, il est effectivement préférable pour des raisons de sécurité, de chiffrer les mots de passe, ce qui empêche tout décryptage (et évite ainsi à des personnes mal intentionnées de découvrir des mots de passe personnels). Si l'utilisateur perd son mot de passe on lui en génère alors un nouveau qu'il pourra ensuite repersonnaliser
$sql = "SELECT AES_DECRYPT('".$cle."', '".$pass."') FROM membres WHERE username='$username'";
$resultat = mysql_query($sql) or die ('Impossible de selectionner: ' .mysql_error());
$total = mysql_num_rows($resultat);
$rows = mysql_fetch_array($resultat);
{
$username = $rows['username'];
$pass = $rows['pass'];
}
}
if ($total)
{
echo 'Vous etes '.$username. ' connectes<br>';
echo 'Le mot de passe est: '.$pass. '<br>';
}
// Je demande à ma requête de retourner la valeur en base du username et du mot de passe décrypté, en donnant à ce dernier l'alias "pwd"
$sql = "SELECT username, AES_DECRYPT('".$cle."', '".$pass."') AS pwd
FROM membres WHERE username='".$username."'";
...
if ($rows = mysql_fetch_array($resultat))
{
$username = $rows['username']; // Je peux alors récupérer la valeur du champ "username"
$pass = $rows['pwd']; // et la valeur du champ "pwd" qui correspond au mot de passe décrypté
}