HashChaine c'est quoi le contraire ?

Le
Roumégou Eric
Bonjour,

je fais vraiment ds la comprenette difficilette là dessus.

Voilà ma fonction MoncalculMD5

PROCEDURE MonCalculMd5(pCh)
wch,Pwdmd5 est chaîne
wch=HashChaîne(HA_MD5_128,pCh)
i,imax est un entier
Pwdmd5=""
imax=Taille(wch)
POUR i=1 A imax
Pwdmd5+=NumériqueVersChaîne(Asc(wch[[i]]), "02X")
FIN
Pwdmd5=Minuscule(Pwdmd5)
RENVOYER Pwdmd5

Impec ! ça me donne une codif qui est exactement à ce que l'on a dans
les mots de passe fillezilla.

j'en déduis donc que c'est assez standard.
j'en déduis aussi que l'on doit pouvoir faire le chemin inverse.

Moi je voudrais md5VersChaine, maintenant ou comment reconvertir un pwd
dans sa valeur d'origine.

et là je ne trouve pas.

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Roumégou Eric
Le #19644871
Roumégou Eric a formulé la demande :
Bonjour,

je fais vraiment ds la comprenette difficilette là dessus.

Voilà ma fonction MoncalculMD5

PROCEDURE MonCalculMd5(pCh)
wch,Pwdmd5 est chaîne
wch=HashChaîne(HA_MD5_128,pCh)
i,imax est un entier
Pwdmd5=""
imax=Taille(wch)
POUR i=1 A imax
Pwdmd5+=NumériqueVersChaîne(Asc(wch[[i]]), "02X")
FIN
Pwdmd5=Minuscule(Pwdmd5)
RENVOYER Pwdmd5

Impec ! ça me donne une codif qui est exactement à ce que l'on a dans les
mots de passe fillezilla.

j'en déduis donc que c'est assez standard.
j'en déduis aussi que l'on doit pouvoir faire le chemin inverse.

Moi je voudrais md5VersChaine, maintenant ou comment reconvertir un pwd dans
sa valeur d'origine.

... et là je ne trouve pas.

Merci de vos réponses.



en fait je voudrais faire exactement ce que fait ce site
http://www.authsecu.com/decrypter-dechiffrer-cracker-hash-md5/decrypter-dechiffrer-cracker-hash-md5.php

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumégou Eric
Le #19644861
Roumégou Eric a formulé la demande :
Roumégou Eric a formulé la demande :
Bonjour,

je fais vraiment ds la comprenette difficilette là dessus.

Voilà ma fonction MoncalculMD5

PROCEDURE MonCalculMd5(pCh)
wch,Pwdmd5 est chaîne
wch=HashChaîne(HA_MD5_128,pCh)
i,imax est un entier
Pwdmd5=""
imax=Taille(wch)
POUR i=1 A imax
Pwdmd5+=NumériqueVersChaîne(Asc(wch[[i]]), "02X")
FIN
Pwdmd5=Minuscule(Pwdmd5)
RENVOYER Pwdmd5

Impec ! ça me donne une codif qui est exactement à ce que l'on a dans les
mots de passe fillezilla.

j'en déduis donc que c'est assez standard.
j'en déduis aussi que l'on doit pouvoir faire le chemin inverse.

Moi je voudrais md5VersChaine, maintenant ou comment reconvertir un pwd
dans sa valeur d'origine.

... et là je ne trouve pas.

Merci de vos réponses.



en fait je voudrais faire exactement ce que fait ce site
http://www.authsecu.com/decrypter-dechiffrer-cracker-hash-md5/decrypter-dechiffrer-cracker-hash-md5.php



ok ok faut lire aussi les sites que tu donnes

"Le HASH MD5 est une fonction irréversible, ce qui signifie qu'il
n'existe pas d'algorithme ou de fonction permettant de retrouver la
chaîne d'origine à partir de son HASH.

La seule méthode pour déchiffrer un HASH est de crypter un ensemble de
chaînes de caractères. Ainsi, chaque chaîne cryptée sera comparée au
HASH recherché jusqu'à trouver la correspondance."


donc je perds mon temps.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Gilles
Le #19644991
Roumégou Eric a pensé très fort :
Bonjour,

je fais vraiment ds la comprenette difficilette là dessus.

Voilà ma fonction MoncalculMD5
Moi je voudrais md5VersChaine, maintenant ou comment reconvertir un pwd dans
sa valeur d'origine.



On ne peut pas, c'est tout l'interêt du hashage.
Un mot de passe se vérifie par comparaison du hashage en base avec
celui qui a été saisi.

Encore heureux ;)
Yannick
Le #19658941
Coucou

Il existe des "rainbow tables", listes de chaines de caractères avec
leur équivalent en MD5.
Mais je crois que l'emploi de celles-ci s'apparente à du piratage.
Tapez "rainbow MD5" dans g00gle pour avoir un aperçu.

See you
Yannick
Roumégou Eric
Le #19659291
Yannick a présenté l'énoncé suivant :
Coucou

Il existe des "rainbow tables", listes de chaines de caractères avec
leur équivalent en MD5.
Mais je crois que l'emploi de celles-ci s'apparente à du piratage.
Tapez "rainbow MD5" dans g00gle pour avoir un aperçu.

See you
Yannick



oui c'est ce qu'utilise le site que j'ai mis en exemple dans ce fil.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Gilles
Le #19660631
Yannick a présenté l'énoncé suivant :
Coucou

Il existe des "rainbow tables", listes de chaines de caractères avec
leur équivalent en MD5.
Mais je crois que l'emploi de celles-ci s'apparente à du piratage.
Tapez "rainbow MD5" dans g00gle pour avoir un aperçu.



Ca reste du brute force.
Passer en brute force n'est pas décrypter.

Avec un mot de passe suffisement long et des caractères non standards,
la tâche reste très très difficile avec les ordinateurs actuels.
Yannick
Le #19667591
Voilà un petit article très intéressant pour ceux qui s'intéressent au
stockage et à la protection de mot de passe :
http://www.commentcamarche.net/faq/sujet-8821-comment-bien-stocker-et-verif ier-un-mot-de-passe

****************************************************************
***Comment bien stocker et vérifier un mot de passe***
****************************************************************
Publié par sebsauvage (Commentcamarche.com) le mardi 16 juin 2009 à
09:46:43

Si vous développez une application qui doit gérer les mots de passe,
il est important de bien le faire, sous peine de risquer le piratage
de votre système et la compromission des données de vos utilisateurs.

Il existe de bonnes pratiques pour stocker un mot de passe.

****************************************************************
La bonne manière de stocker
****************************************************************

Stockez le login et hash(login+salt+motdepasse)

Pseudo-code: passwordHash = MD5( login + "zo5pro
$1pvkhj6*cz4a8ùtvb#ui4oeuio" + motdepasse )
Stockez login et passwordHash. Ne stockez pas motdepasse.

****************************************************************
Pourquoi un hash ?
****************************************************************

Il ne faut jamais stocker le mot de passe en clair.

Risque: Si quelqu'un s'introduit dans votre base de mots de passe, il
pourrait les récupérer directement et les utiliser.

Protection: Le hash permet de calculer une empreinte du mot de passe.
Comme l'algorithme n'est pas réversible, on ne peut pas retrouver
immédiatement le mot de passe à partir du hash.
C'est pour cela qu'on utilise un hash cryptographique. Typiquement
MD5, SHA-1 ou autre (SHA-256, SHA-512...)
Ne jamais utiliser de CRC ou CRC32.

****************************************************************
Pourquoi un salt ?
****************************************************************

Les rainbow-tables sont de grosses tables contenant des hash (MD5 et
autres) précalculées.
Cela permet de retrouver très rapidement le mot de passe qui a donné
un hash précis.

Risque: Si vous utilisez juste MD5(motdepasse), les rainbow-tables
permettent de retrouver le mot de passe correspondant au MD5 en
quelques minutes, voire quelques secondes.

Protection: En utilisant un salt, cela rend les rainbow-tables
inutiles. Le salt est une valeur aléatoire, unique et différente pour
chaque mot de passe. Pour chaque mot de passe il faut stocker salt, h
(salt,password), avec par exemple salt = random()

****************************************************************
Pourquoi ajouter le login ?
****************************************************************

Si vous stockez juste MD5(salt+motdepasse) ou MD5(motdepasse), cela
veut dire que deux utilisateurs ayant le même mot de passe auront le
même hash.

Risque: On peut repérer très facilement les utilisateurs ayant le mêm e
mot de passe. Si un utilisateur est compromis, cela permet d'accéder
immédiatement à d'autres utilisateurs (qui ont peut-être des droits
supérieurs).

Protection: En ajoutant le login avant de hasher, la MD5 résultante
sera différente pour chaque utilisateur, même s'ils ont le même mot d e
passe.

****************************************************************
Vérification
****************************************************************

Lorsque vous recevez login et mot de passe, il vous suffit de refaire
le même calcul:
Rechercher dans votre base le hash correspondant à ce login
Comparer la valeur avec hash(login+salt+motdepasse)
Si les deux hash sont identiques, le mot de passe entré est correct.
Daniel
Le #19667721
Bonjour,


Yannick a écrit :
Voilà un petit article très intéressant pour ceux qui s'intéressent au
stockage et à la protection de mot de passe :
http://www.commentcamarche.net/faq/sujet-8821-comment-bien-stocker-et-verifier-un-mot-de-passe

****************************************************************
***Comment bien stocker et vérifier un mot de passe***
****************************************************************
Publié par sebsauvage (Commentcamarche.com) le mardi 16 juin 2009 à
09:46:43

Si vous développez une application qui doit gérer les mots de passe,
il est important de bien le faire, sous peine de risquer le piratage
de votre système et la compromission des données de vos utilisateurs.

Il existe de bonnes pratiques pour stocker un mot de passe.

****************************************************************
La bonne manière de stocker
****************************************************************

Stockez le login et hash(login+salt+motdepasse)

Pseudo-code: passwordHash = MD5( login + "zo5pro
$1pvkhj6*cz4a8ùtvb#ui4oeuio" + motdepasse )
Stockez login et passwordHash. Ne stockez pas motdepasse.

****************************************************************
Pourquoi un hash ?
****************************************************************

Il ne faut jamais stocker le mot de passe en clair.

Risque: Si quelqu'un s'introduit dans votre base de mots de passe, il
pourrait les récupérer directement et les utiliser.

Protection: Le hash permet de calculer une empreinte du mot de passe.
Comme l'algorithme n'est pas réversible, on ne peut pas retrouver
immédiatement le mot de passe à partir du hash.
C'est pour cela qu'on utilise un hash cryptographique. Typiquement
MD5, SHA-1 ou autre (SHA-256, SHA-512...)
Ne jamais utiliser de CRC ou CRC32.

****************************************************************
Pourquoi un salt ?
****************************************************************

Les rainbow-tables sont de grosses tables contenant des hash (MD5 et
autres) précalculées.
Cela permet de retrouver très rapidement le mot de passe qui a donné
un hash précis.

Risque: Si vous utilisez juste MD5(motdepasse), les rainbow-tables
permettent de retrouver le mot de passe correspondant au MD5 en
quelques minutes, voire quelques secondes.

Protection: En utilisant un salt, cela rend les rainbow-tables
inutiles. Le salt est une valeur aléatoire, unique et différente pour
chaque mot de passe. Pour chaque mot de passe il faut stocker salt, h
(salt,password), avec par exemple salt = random()

****************************************************************
Pourquoi ajouter le login ?
****************************************************************

Si vous stockez juste MD5(salt+motdepasse) ou MD5(motdepasse), cela
veut dire que deux utilisateurs ayant le même mot de passe auront le
même hash.




MD5(motpasse+salt) est le principe du stockage du mot de passe de linux,
et deux utilisateurs ayant le même mot de passe n'ont pas le même hash.

Risque: On peut repérer très facilement les utilisateurs ayant le même
mot de passe. Si un utilisateur est compromis, cela permet d'accéder
immédiatement à d'autres utilisateurs (qui ont peut-être des droits
supérieurs).

Protection: En ajoutant le login avant de hasher, la MD5 résultante
sera différente pour chaque utilisateur, même s'ils ont le même mot de
passe.

****************************************************************
Vérification
****************************************************************

Lorsque vous recevez login et mot de passe, il vous suffit de refaire
le même calcul:
Rechercher dans votre base le hash correspondant à ce login
Comparer la valeur avec hash(login+salt+motdepasse)
Si les deux hash sont identiques, le mot de passe entré est correct.






--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Yannick
Le #19674081
"MD5(motpasse+salt) est le principe du stockage du mot de passe de
linux, et deux utilisateurs ayant le même mot de passe n'ont pas le
même hash."
Impossible !
Ou alors il manque une précision. Peut-être qu'un salt propre à chaqu e
utilisateur est employé chez linux. Ce qui revient à hash((login+salt)
+motdepasse).
Daniel
Le #19676151
Yannick a écrit :
"MD5(motpasse+salt) est le principe du stockage du mot de passe de
linux, et deux utilisateurs ayant le même mot de passe n'ont pas le
même hash."
Impossible !
Ou alors il manque une précision. Peut-être qu'un salt propre à chaque
utilisateur est employé chez linux. Ce qui revient à hash((login+salt)
+motdepasse).



Il ne manque rien.
Tout simplement un SALT en crypto est une séquence aléatoire. C'est
l'article que tu as cité qui sème la confusion.



--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Publicité
Poster une réponse
Anonyme