8791 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,
Quelqu’un m'explique le principe de mot de passe oublié php?

je entrain de développer un site web en php, et je veux créer un espace membre avec login et mot de passe, après l'inscription de client leur mot de passe sera crypté avec la fonction md5 et sauvegardé dans une base mysql,
le problème comment je récupère ce mot de passe crypté?

Merci d'vance
Modifié par kbma (24 May 2011 - 19:31)
Tu ne le récupères pas, tu en crées un nouveau temporaire que tu envoies par email à l'utilisateur, qui pourra alors l'utiliser pour redéfinir un nouveau mot de passe.

Si le mot de passe pouvait être décrypté pour être renvoyé, à quoi servirait-il de le crypter alors ?

C'est là que tu peux constater que les sites qui te renvoient ton mot de passe en clair le stockent en clair dans leur base de données.
Tu peux chiffrer (et pas crypter) ton mot de passe avec un algorithme comme AES ou RSA (etc), dans ce cas il est possible de le déchiffrer si l'utilisateur demande à récupérer son mot de passe. Ces algos sont très sécurisés (si ils sont bien implémentés) mais si quelqu'un arrive à accéder à la fois à ta base de données et à ta clé de chiffrement il pourra découvrir tous les mots de passe. Les éventuels failles de sécurité ne viendraient donc pas de l'algo en lui même mais de ton site ou de ton serveur.

Ou tu peux utiliser un algorithme de hachage comme MD5 ou SHA1 (etc), dans ce cas tu stockes une empreinte du mot de passe qui ne permet pas (théoriquement) de retrouver le mot de passe original. Dans ce second cas si l'utilisateur perd son mot de passe tu dois en générer un nouveau.
Modifié par jb_gfx (25 May 2011 - 10:13)