massilia68
Messages postés7Date d'inscriptionjeudi 24 décembre 2009StatutMembreDernière intervention15 janvier 2014
-
15 janv. 2014 à 05:31
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
20 janv. 2014 à 00:45
Bonjour, Je me permet de poster ce message afin de savoir si il y avais une issue à mon problèm je suis actuellement perdu et bloqué, Comment dois-je faire pour déchiffrer les mot de passes des utilisateurs en VB.net ?
Le soucis qui ce présente actuellement est que le mot de passe est chiffré sur la Table user_password donc lorsque je me connecte sur mon logiciel avec mon mot de passe utilisateur créer sur mon site lors de l'inscription sa ne marche pas, en revanche lorsque je copie le mot de passe chiffré visible sur ma Base de donnée il me connecte avec succès.
Ma base SQL viens du système CMS E107, Les mots de passes sont chiffrés en MD5 j'ai pu essayer avec mon mot de passe qui correspond parfaitement au MD5 de ma Base SQL.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 15 janv. 2014 à 10:26
Salut
Question confuse.
Ton titre parle de connexion.
Tu parles ensuite de données dans des tables.
Perso, "CMS E107", ça ne me dit rien du tout.
En fait, on n'arrive pas à savoir de quoi tu parles.
MD5 est, comme tu le dis, un chiffrage et non un cryptage.
A ma connaissance, MD5 n'est pas réversible, c'est à dire qu'on ne peut pas retrouver la donnée initiale à partir du MD5.
En général, dans les bases de données, on stocke le MD5 d'un mot de passe pour éviter de stocker des données sensibles puisque, même si un marlou mettait la main sur les valeurs de ces champs, il ne pourrait pas retrouver le MdP associé.
Simplement, lors d'une saisie de MdP, le programme doit calculer le MD5 à partir de la saisie puis le compare au MD5 stocké dans la table; S'il y a égalité, le texte (MdP) initial est bien le même.
Alors, est-ce que cela répond à ta question, je ne le sais pas, n'ayant pas compris le problème que tu rencontres.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 15 janv. 2014 à 12:46
"même si un marlou mettait la main sur les valeurs de ces champs, il ne pourrait pas retrouver le MdP associé"
Maintenant, il est considéré que MD5 est un hashage insuffisant.
Si ton hash n'est pas salé, une simple "Rainbow table" permet de retrouver le MDP rapidement.
Maintenant, il est plutot conseillé d'utiliser SHA qui permet un hash sur plus d'octets, donc moins de collision et cela compliquerait la recherche d'une collision de hash.
Merci de vos réponse effectivement j'ai du mal m'exprimer, vos réponse me font ouvrir les yeux sur le problème que je rencontre actuellement. Mais je ne sais plus ou donner de la tête, j'aimerai simplement que l'utilisateur puisse se connecter sur logiciel avec les informations qu'il a donné lors de l'inscription sur mon site (Pseudo, Mot de passe). Seulement le Mot de Passe comme je vous l'ai expliqué, il est crypter en MD5 donc le logiciel ne peux pas reconnaître sont mot de passe; je suppose que la manière que j'ai actuellement de connecter l'utilisateurs via L'SQL de mon site n'est pas la meilleur.
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 19 janv. 2014 à 09:30
Bonjour
Le fait que le mot de passe soit stocké chiffré dans la base me semble une bonne chose. Lors de l'identification c'est au logiciel client, ou serveur, d'appliquer l'algorithme de chiffrement avant de faire la requête sur la base.
pour être plus simple:
le client entre son identification et mot de passe en clair
To logiciel y applique l'algorithme de chiffrement utilisé lors de l'enregistrement
puis fait la requête sur la base pour l'authentification.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 19 janv. 2014 à 10:04
Bonjour,
Autrement dit :
1) - lorsque l'utilisateur choisit (en clair) son mot de passe, on le chiffre (par un algo de chiffrement X) et le résultat est conservé en mémoire (dans une base, par exemple)
2) - lorsqu'il s'identifie : il saisit (toujours en clair) le mot de passe qu'il avait choisi. On applique à ce "clair" l'algo X du 1) et on compare le résultat de ce chiffrement avec celui enregistré en 1)
Bonjour, merci de vos réponse, comment dois-je faire dans ce cas la pour que mon logiciel applique l'algorithme de chiffrement lors de l'identification?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 20 janv. 2014 à 00:45
Je ne comprends pas ta difficulté.
Lorsque l'utilisateur a choisi (inscription) son mot de passe, tu l'as bien chiffré, ce mot de passe, puisque tu as écrit :
"Le soucis qui ce présente actuellement est que le mot de passe est chiffré sur la Table user_password"
et pour ce faire, tu as forcément utilisé une procédure ou un bloc d'instructions :
1) pour obtenir le résultat chiffré toto
2) pour écrire toto dans ta table
Lorsque, ultérieurement, l'utilisateur se connecte et qu'il saisit un mot de passe ===>> tu dois :
1a) lire le mot de passe chiffré dans ta table (toto, donc)
2a) appliquer au mot de passe qu'il a saisi la même procédure ou bloc d'instructions que celle citée en 1) ==>> soit titi le résultat chiffré ===>> si titi = toto, tu permets la connexion. Si non, tu la refuses.
15 janv. 2014 à 12:46
Maintenant, il est considéré que MD5 est un hashage insuffisant.
Si ton hash n'est pas salé, une simple "Rainbow table" permet de retrouver le MDP rapidement.
Maintenant, il est plutot conseillé d'utiliser SHA qui permet un hash sur plus d'octets, donc moins de collision et cela compliquerait la recherche d'une collision de hash.
19 janv. 2014 à 01:01
Auriez-vous une idée ?