[résolu]recupération d'un MDP crypté dans Mysql
Dernière réponse : dans Programmation
Bonjour tout le monde,
actuelement, je suis en train de developpé un portail PHP/MYSQL, et j'en suis a l'élaboration du code permattant d'identifier les utilisateurs.
mon probleme, etant donnée que le portail vas se trouver sur un serveur tier gratuit, est que je crypte les mots de passes des utilisateurs dans la DB MYSQL.
j'utilise la fonction PASSWORD() ou MD5().
Mon probleme se situe au niveau de la récupération de la donnée crypté.
j'ai recherché sur le site de Mysql ou divers tutoriaux, mais lorsque j'insere le code suivant:
je me retrouve dans la base SQL avec un mot de passe du type : 378b243e220ca493, donc crypté comme souhaité.
le probleme final, c'est que je n'arrive pas a retrouver la ligne de commande me permetant de sortir le mot de passe en clair.
si je fait un :
je me retrouverai danc avec non pas le mot de passe en clair, mais avec la chaine crypté.
est ce que quelqu'un aurait une idée pour sortir la chaine en clair s'il vous plait ^^
merci d'avance ^^
PS:
MySQL 4.1.9
actuelement, je suis en train de developpé un portail PHP/MYSQL, et j'en suis a l'élaboration du code permattant d'identifier les utilisateurs.
mon probleme, etant donnée que le portail vas se trouver sur un serveur tier gratuit, est que je crypte les mots de passes des utilisateurs dans la DB MYSQL.
j'utilise la fonction PASSWORD() ou MD5().
Mon probleme se situe au niveau de la récupération de la donnée crypté.
j'ai recherché sur le site de Mysql ou divers tutoriaux, mais lorsque j'insere le code suivant:
INSERT INTO `user` ( `username` , `password` , `adsit` , `supadsit` , `valid` )VALUES ('user', password('test'), '1', '1', '1');
je me retrouve dans la base SQL avec un mot de passe du type : 378b243e220ca493, donc crypté comme souhaité.
le probleme final, c'est que je n'arrive pas a retrouver la ligne de commande me permetant de sortir le mot de passe en clair.
si je fait un :
select * from user ...
je me retrouverai danc avec non pas le mot de passe en clair, mais avec la chaine crypté.
est ce que quelqu'un aurait une idée pour sortir la chaine en clair s'il vous plait ^^
merci d'avance ^^
PS:
MySQL 4.1.9
Autres pages sur : resolu recuperation mdp crypte mysql
Lassé par la pub ? Créez un compte
le but est justement de ne pas pouvoir retrouver le mot de passe à partir de cette chaine cryptée ...
tu peux essayer en local avec des logiciels de cassage mais si les mots de passe sont long ça va te prendre du temps
))
serieusement : faut que tu crypte le mot de passe entré par l'utlisateur et que tu le compare avec ce qui est stocké dans ta base. si c'est la même chose alors youpi
tu peux essayer en local avec des logiciels de cassage mais si les mots de passe sont long ça va te prendre du temps
))serieusement : faut que tu crypte le mot de passe entré par l'utlisateur et que tu le compare avec ce qui est stocké dans ta base. si c'est la même chose alors youpi
j'ai trouver une seule solution pour l instant, c'est justement de cree un champs supplementaire dans ma table dans lequel j'entre le mot de passe tapé par l utilisateur en crypté, ensuite j'extrait les 2 et je les comparent.
mais ca prendre encore du temps de traitement
je ne sait pas comment faire pour crypté directement le mot de passe entré par l utilisateur et le comparé avec celui qui est dans la DB.
j'utilise PHP5 mais je ne croit pas qu'il puisse crypté le mot de passe.
a moin que je fasse un requete sql du type:
mais je ne sait pas si ca passerai
mais ca prendre encore du temps de traitement
je ne sait pas comment faire pour crypté directement le mot de passe entré par l utilisateur et le comparé avec celui qui est dans la DB.
j'utilise PHP5 mais je ne croit pas qu'il puisse crypté le mot de passe.
a moin que je fasse un requete sql du type:
SELECT * FROM `user` WHERE `username` = 'userrentré' AND `password` = PASSWORD('passwordrentré')
mais je ne sait pas si ca passerai
sisi c'est comme ca qu'il faut faire
je ne sais pas l'algorithme utilisé par la méthode "password" de mysql mais le md5, lui, est un algorithme de hashage et non de cryptage. ce qui signifie qu'il est impossible de retrouver la chaine original d'apres la chaine hashée. enfin, presque ! il y a moyen avec les "rainbow tables" mais bon ...
pour ca, vaux mieux utiliser SHA-1...
je ne sais pas l'algorithme utilisé par la méthode "password" de mysql mais le md5, lui, est un algorithme de hashage et non de cryptage. ce qui signifie qu'il est impossible de retrouver la chaine original d'apres la chaine hashée. enfin, presque ! il y a moyen avec les "rainbow tables" mais bon ...
pour ca, vaux mieux utiliser SHA-1...
Citation :
sisi c'est comme ca qu'il faut faire
je ne sais pas l'algorithme utilisé par la méthode "password" de mysql mais le md5, lui, est un algorithme de hashage et non de cryptage. ce qui signifie qu'il est impossible de retrouver la chaine original d'apres la chaine hashée. enfin, presque ! il y a moyen avec les "rainbow tables" mais bon ...
pour ca, vaux mieux utiliser SHA-1...
Citation :
Sinon il y a la fonction PHP 'MD5' tout simplement ... Pour le crypter avant de l'injecter dans la base ... et tu n'auras plus qu'a comparer ton champ en PHP plutot que dans ta requete ...A voir
edit: et la fonction SHA1 si tu veux vraiment un cryptage fort dans ta BDD
C'est quoi la différence entre ces 2 messages
Boub, tu radotes
bon, le code
ne fonctionne pas
la fonction PASSWORD() n'a pas l'air de passer en select
j'ai contourner la chose en utilisant ENCODE/DECODE('motdepass','indexencryptage') et en utilisant une cle d'encyptage predefini dans une variable.
ainsi en inserant la donné avec :
et pour recuperer j'utilise:
et ca fonctionne sans probleme ^^
SELECT * FROM `user` WHERE `username` = 'userrentré' AND `password` = PASSWORD('passwordrentré')
ne fonctionne pas
la fonction PASSWORD() n'a pas l'air de passer en select
j'ai contourner la chose en utilisant ENCODE/DECODE('motdepass','indexencryptage') et en utilisant une cle d'encyptage predefini dans une variable.
ainsi en inserant la donné avec :
INSERT INTO `user` ( `username` , `password` )VALUES ('user', ENCODE('password','cledecryptage');
et pour recuperer j'utilise:
SELECT * FROM `user` WHERE `username` = 'userrentré' AND `password` = DECODE('passwordrentré','cledecryptage')
et ca fonctionne sans probleme ^^
Citation :
bon, le code
SELECT * FROM `user` WHERE `username` = 'userrentré' AND `password` = PASSWORD('passwordrentré')
ne fonctionne pas
la fonction PASSWORD() n'a pas l'air de passer en select
j'ai contourner la chose en utilisant ENCODE/DECODE('motdepass','indexencryptage') et en utilisant une cle d'encyptage predefini dans une variable.
ainsi en inserant la donné avec :
INSERT INTO `user` ( `username` , `password` )VALUES ('user', ENCODE('password','cledecryptage');
et pour recuperer j'utilise:
SELECT * FROM `user` WHERE `username` = 'userrentré' AND `password` = DECODE('passwordrentré','cledecryptage')
et ca fonctionne sans probleme ^^
Citation :
Kangol citait les algo moi les fonctions
Lassé par la pub ? Créez un compte