Fonction de "déhashage" [MySQL][MD5][Java] - Java - Programmation
Marsh Posté le 16-08-2005 à 16:26:24
Salut,
Avec des moyens simples, il n'est pas possible de retrouver le message original lorsque celui-ci a été hashé. C'est justement pour ça (entre autres) qu'on hashe le mot de passe des utilisateurs, afin que même l'adiministrateur de la base de données ne puisse pas les lire...
A+
Marsh Posté le 16-08-2005 à 16:36:52
Merci eniac
Je m'en doutais un peu C'est dommage, il me reste plus qu'à mettre le mot de passe en clair dans ma base
Mais sinon, en retournant le problème autrement: dans mon projet, lorsqu'un utilisateur perd ses identifiants de connexion, il saisi son adresse email et valide via un bouton. Il recoit ensuite un email avec son identifiant et son mot de passe. Est ce que vous auriez une idée pour pouvoir utiliser le MD5? même en changeant complètement la méthode, ca me dérange pas.
Et oui je veux à tout prix l'utiliser
Dans le pire des cas, je stockerai le mot de passe en clair et en crypté dans ma base. Dans le cadre de mon projet d'école, ca passera
Marsh Posté le 16-08-2005 à 16:37:30
Si TU pouvais le récupérer, n'importe qui pourrait, non ? Ou serait la sécurité, alors ?
Citation : Par contre, j'aurais besoin, dans le cadre de mon projet, de récupérer le mot de passe en clair, pour l'envoyer à l'utilisateur qui a perdu son compte. |
Mauvais design. Ca veut dire un email en clair, qui transite on ne sait où... Et un mot de passe qui, une fois récupéré, ne sera probablement pas changé alors qu'il a pu être facilement lu.
Privilégie un token à usage unique, avec court délai d'expiration, qui oblige l'utilisateur à choisir un nouveau mot de passe.
Bon, tu me diras, c'est pas forcément pour des données sensibles, mais prenons de bonnes habitudes et respectons les bonnes pratiques.
Marsh Posté le 16-08-2005 à 16:39:13
Stocke le mot de passe crypté, c'est nettement plus classe et mets ça en avant dans ton rapport.
Pour savoir si le mot de passe entré est correct, tu le hashes et tu compares à la valeur dans la DB.
Ca te donne une probabilité mirobolante que les deux valeurs originales soient les mêmes.
Marsh Posté le 16-08-2005 à 16:47:01
nookonee a écrit : Merci eniac |
Prq tu ne procèdes pas de la manière habituelle ?
A l'inscription, quand l'utilisateur saisit son mot de passe, tu le hashes et tu ne stocke que cette valeur hashée (et pas le password en clair !).
A l'authentification, tu compares le hash du mot de passe que l'utilisateur vient de saisir, et son password hashé que tu as enregistré.
Lors de l'oubli de son mot de passe, tu peux générer toi-même un mot de passe aléatoire, l'envoyer en clair par email à l'utilisateur, et contraindre ce dernier à le changer au prochain login.
A+
Marsh Posté le 16-08-2005 à 16:51:43
Eniac > Grilled for less than 8 seconds
Marsh Posté le 16-08-2005 à 17:08:33
sircam a écrit :
|
Je n'ai pas tout compris.
Dans mon projet, quand un utilisateur perd son identifiant et/ou son mot de passe, il a juste à saisir son adresse mail dans un formulaire. Il recoit ensuite un message avec ses identifiants de connexion.
Marsh Posté le 16-08-2005 à 17:09:35
sircam a écrit : Stocke le mot de passe crypté, c'est nettement plus classe et mets ça en avant dans ton rapport. |
Oui c'est exactement ce que je fais, je compare la valeur hashée du mot de passe saisie lors de la connexion avec le mot de passe hashé qui est stocké dans ma base.
Marsh Posté le 16-08-2005 à 17:10:24
nookonee a écrit : Il recoit ensuite un message avec ses identifiants de connexion. |
Dont le mot de passe. En clair. Non ?
Marsh Posté le 16-08-2005 à 17:11:14
Eniac a écrit : Prq tu ne procèdes pas de la manière habituelle ? |
Oui,c'est exactement ce que je fais pour l'inscription et l'authentification.
Par contre, c'est une excellente idée de générer un nouveau mot de passe Je pense que je vais faire comme ca
Marsh Posté le 16-08-2005 à 17:11:41
ReplyMarsh Posté le 16-08-2005 à 17:20:36
nookonee a écrit : oui c'est ce que je voulais au tout début |
OK. Génère un nouveau mot de passe, mais avec obligation de le changer, sans quoi celui-ci risque de ne pas être changé alors qu'il a transité sur les eaux troubles du nainternet.
Mieux encore : génère une URL (avec un token) qui expire après un court délai et qui permet d'introduire un nouveau mot de passe.
Marsh Posté le 16-08-2005 à 17:26:15
sircam a écrit : OK. Génère un nouveau mot de passe, mais avec obligation de le changer, sans quoi celui-ci risque de ne pas être changé alors qu'il a transité sur les eaux troubles du nainternet. |
Merci pour ton aide, je vais faire ca
Ca sera beaucoup plus propre comme ca
Marsh Posté le 16-08-2005 à 19:25:48
http://berkano.codehaus.org fait tout ça pour vous, et plus
Marsh Posté le 17-08-2005 à 10:47:00
the real moins moins a écrit : http://berkano.codehaus.org fait tout ça pour vous, et plus |
Merci pour le lien j'ai parcouru rapidement le site et le module berkano user à l'air de me convenir (génération, encodage et récupération du mot de passe ).
Je lirai plus attentivement quand j'aurais fini ce que je suis en train de faire.
Sinon je n'ai pas vu de tuto, ex. pour expliquer l'utilisation des modules
Marsh Posté le 17-08-2005 à 12:19:26
ué, je sais, ça vient, ça vient
Marsh Posté le 16-08-2005 à 16:18:42
Bonjour,
J'ai une petite question à vous poser Voila, je voulais savoir s'il était possible de "décrypter" un mot de passe stocké dans une table mySQL. Plus précisement, j'ai une fonction de hashage en java qui permet de hasher un texte clair (le mot de passe), et de stocker le résultat du hashage dans ma base. Par contre, j'aurais besoin, dans le cadre de mon projet, de récupérer le mot de passe en clair, pour l'envoyer à l'utilisateur qui a perdu son compte.
Est ce possible et facilement réalisable? J'ai entendu parler d'une fonctionnalité mysql sur le MD5, mais je n'en suis pas sûr
Merci d'avance
edit: oubli du titre
Message édité par nookonee le 16-08-2005 à 16:25:44