Page 1 sur 1
Crypter mot de passe mais pouvoir le récupérer
Posté : 30 janv. 2007, 18:50
par jay64
Bonjour,
Actuellement, j'utilise la fonction md5() pour hacher le mot de passe avant de le stocker dans ma bdd.
Désormais, je cherche à pouvoir permettre à un utilisateur de récupérer son mdp en cliquant par exemple sur "mot de passe perdu".
En effectuant des recherches, j'ai constaté que la fonction md5() est irréversible et par conséquent, impossible d'obtenir ce que je cherche à faire.
A ce jour, je ne sais pas comment renvoyer un mot de passe à un utilisateur sans le stocker au plus simple sans aucun cryptage dans ma BDD.
Pourriez-vous me dire comment vous faites pour le gérer tout en gardant un minimum de sécurité.
Merci d'avance,
Jay
Posté : 30 janv. 2007, 18:58
par Ultim4T0m
Bonjour,
Il ne faut pas confondre hashage et cryptage.
Le md5() est une fonction de hashage, c'est à sens unique, un mot de passe hashé ne peut pas être récupéré.
Tu devrais trouver des fonctions de cryptage / décryptage dans la doc sans trop de problème, ou grâce à une recherche sur le forum

Posté : 30 janv. 2007, 19:04
par jojolapine
bonjour,
Je ne vais pas essayer de t'influencer sur telle ou telle manière de procéder... seulement, sache que le "hachage" est plus sécurisé que le "cryptage"... pour une raison simple, si par malheur quelqu'un accède à ta base de donnée, et qu'il sait un minimum craquer des cryptage (pas très dur), alors il aura les mdp de tout tes membres...
Bon maintenant c'est vrai que c'est un petit peu plus embétant pour les membres qui perdent leurs mots de passe... mais face au gain de sécurité!!
Bon sinon voici la méthode que j'utilise:
Je "hash" mes mots de passes avec md5, comme tu le faits, et lorsqu'un utilisateur à perdu son mot de passe, un nouveau mot de passe est générer aléatoirement... l'utilisateur recevra donc par mail un pass de ce type:
je te l'accorde pas très facile à retenir, mais je laisse la possibilité aux membres de changer leurs mots de passes une fois connectés...
Donc ils utilisent un peti copier/coller, et retourne dar dar dans leur espace membre remettre l
eur date de naissance en guise de mot de passe 
Si tu as des questions n'hésite pas
Posté : 30 janv. 2007, 19:18
par jay64
Merci déjà pour ta réponse claire, cossue, et rapide !
Sinon, c'est bien vers ta méthode que je comptais me diriger.
A ce moment là, j'ai deux questions (une de sécurité et une technique)
1) sécurite : j'imagine facilement des utilisateurs, qui, pour embeter le copain aussi inscrit sur mon site, pourrait taper une adresse email qui n'est pas la leur, et par conséquent changer le mot de passe du copain (à l'insue de celui-ci). La première fois, c'est marrant, mais si l'opération se répère plusieurs dois, je vois déjà les gens venir se plaindre.
Comment gérer la chose pour éviter ce genre de désagréments ? Je pense à une vérif question secrète/réponse au moment de la demande de regénération du mdp. Une autre idée ou celle ci est bien ?
2) technique : comment faire, ou surtout quelle fonction ou bout de code à utiliser pour générer automatiquement une chaine de caractères tels que tu me l'as présenté ?
Merci encore !
Jay !
Posté : 30 janv. 2007, 19:45
par Invité
1) sécurite : j'imagine facilement des utilisateurs, qui, pour embeter le copain aussi inscrit sur mon site, pourrait taper une adresse email qui n'est pas la leur !
??
Si il tape une adresse mail qui ne lui appartient pas, il ne recevra jamais le mot de passe perdu... donc, comment veut tu qu'il change le mot de passe a leur insu ?
ensuite,pour regénérer un mot de passe aléatoire, fait un truc du genre :
for ($ligne=0;$ligne<10;$ligne++){
$mdp.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}
Posté : 30 janv. 2007, 19:50
par Invité
Encore moi,
Un style que question / réponses secrete ? Je trouve l'idée pas mal et très simple a réaliser !
Lors de l'inscription, tu demande un mot secret !
Lors d'une demande de récupération de mot de passe, tu demande le mot secret et tu vérifie dans la base par rapport à l'email ! Si c'est bon, tu envoie le mail ! Sinon, tu envoie baladé .... !
Posté : 30 janv. 2007, 19:54
par Invité
En plus, cela présente quand même un inconvénient :
Si ton membre en + d'avoir oublié son mot de passe oublie également son mot ou réponses secrete, comment fait t'il ?
Posté : 30 janv. 2007, 20:29
par jojolapine
je répond un peu tout azimut... pour ce qui est du coup d'embéter les
copains
ça ne doit pas être possible normalement, car en plus de l'adresse, tu doits demander le pseudonyme de connection du membre, qui ne doit être connu que de lui...
Pour ce qui est de la génération de mdp, il y a deux solutions içi:
http://www.phpfrance.com/forums/viewtop ... ot+++passe
si des doutes subsistes... hésite toujours pas

Posté : 30 janv. 2007, 20:37
par Invité
je répond un peu tout azimut... pour ce qui est du coup d'embéter les copains
oui et en plus,je n'ai jamais entendu parler de ce genre de plaisanterie ou alors c'est très rare !