Hash md5

Résolu
Chamicki Messages postés 526 Date d'inscription   Statut Membre Dernière intervention   -  
Chamicki Messages postés 526 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je croyais qu'un hash md5 étais indescriptible et qu'il étais impossible d'en retrouver la valeur d'origine.
Hors j'ai trouver plusieurs site capable de faire la conversion...

Comment crypter mes mot de passe ?
A voir également:

4 réponses

pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
md5 est une fonction irréversible. Les site qui "font la conversion" font en fait une attaque par dictionnaire : ils possèdent une liste pré calculée de mots (au sens large) avec les hash correspondant et comparent ton hash à leur liste.

Si la valeur que tu hash n'est pas triviale, il devient très difficile de la retrouver puisque les dictionnaires ne contiennent pas toutes les valeurs possibles.

Une bonne pratique consiste à générer une chaîne aléatoire appelée sel ou salt (que tu stockeras aussi en base) et de calculer md5( "$password$string" ) au lieu de md5($password).
3
NooD Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Et même un peu plus que ça puisque des failles ont été trouvées dans l'algorithme (cf https://fr.wikipedia.org/wiki/MD5
tu peux utiliser SHA-256, plus sûr mais la technique du grain de sel est efficace également.
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > NooD Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
C'est vrai que des collisions ont été créées artificiellement, mais pour une chaîne de caractère aussi courte qu'un mot de passe, la technique du bourrage me semble difficile à mettre en place de manière discrète, et il suffit de vérifier la longueur des données envoyées pour mettre à mal le bourrage (parce que trouver deux chaines qui ont le même hash, à la rigueur, mais pour qu'elles fassent environ la même taille, à 300% près, faut s'accrocher !).
0
Dackxes Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   35
 
Je crois que le meilleur moyen est un cryptage en Php qu 'on utilise pour les .htaccess.

Voir : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/918580-protegez-un-dossier-avec-un-htaccess#ss_part_2
0
Chamicki Messages postés 526 Date d'inscription   Statut Membre Dernière intervention   73
 
C'est indéchiffrable la méthode crypt de php ?
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
crypt peut utiliser différents algorithmes, entre autres md5... Il faut savoir qu'aucun chiffrement n'est indéchiffrable : avec suffisamment de temps et de puissance de calcul, tout se casse. Mais dans le cas d'une application classique (pas de secret défense ou informations dans ce genre là), personne n'aura envie de passer 6 mois à faire tourner un cluster de mainframes pour casser un mot de passe. Il faut garder une échelle de mesures de sécurité cohérente avec ton application.

De plus, sécuriser les mots de passe en base n'est important que si ta base de données est compromise. Sans ça, il n'y a aucun intérêt.

Il faut être conscient que la sécurité globale de ton application correspond à la sécurité du maillon le plus faible. pense donc à protéger tes sessions, à n'autoriser les connexions que via un canal sécurisé, à protéger tes scripts des XSS et des injections sql, c'est bien plus important que trouver un algorithme de chiffrement inviolable pour stocker des mots de passe.
0
Chamicki Messages postés 526 Date d'inscription   Statut Membre Dernière intervention   73
 
Ok merci, non c'est juste pour protéger une zone admin mais c'étais plus une question d'ordre générale pour savoir...
0