Cryptage MD5 réversible ? Indirectement, oui !
Le cryptage de mots de passe par MD5 est sans doute la mesure de sécurité la plus utilisée par les développeurs. Son intérêt : crypter une chaîne de caractères, sans avoir la possibilité mathématique de faire l’opération inverse. Enfin presque…
Depuis 2004, on sait que MD5 n’est plus très sûr. Cependant, casser cet algorithme n’est pas à la portée de tout le monde. Aucun risque pour vos bases de données utilisateurs ? C’est sans compter sur les bases de hash MD5. Leur but : stocker des chaînes de caractères et leur hash. Comme les utilisateurs entrent souvent des mots communs ou connus, il est très simple d’interroger ces bases pour obtenir la liste des chaînes de caractères compatibles avec un hash MD5. GData en est un exemple particulièrement efficace et complet.
Vous voulez connaître le mot de passe caché derrière le hash MD5 fe01ce2a7fbac8fafaed7c982a04e229
? Le voici en 1/10e de seconde : demo
. Et celui-ci, assez fréquent dans les bases mal paramétrées : 21232f297a57a5a743894a0e4a801fc3
. C’est admin
!
Il est temps de changer de méthode de cryptage…
Source : Nexen
Commentaires
Hugo
D’où l’intérêt d’utiliser une / des salts constantes pour renforcer la sécurité d’un hash md5 ou sha1 🙂
4 mars 2008, 11h06 ·Christophe
Absolument ! C’est devenu une obligation absolue !
D’ailleurs, je m’aperçois que tu as un très bon article sur le sujet dans ton site : Sécuriser les mots de passe avec les hashs et les salts
Il ne fallait pas hésiter à ajouter le lien, c’est bon pour tout le monde !
4 mars 2008, 12h53 ·Httqm
Ou bien préfixer tous les mots de passe par « {[|@#^||^[|\^[@ » (ou n’importe quoi d’aléatoire qui n’existe pas dans un dictionnaire) avant de les MD5-ifier, et idem au moment de la vérification.
Avant que les bases de MD5 contiennent les hash de « {[|@#^||^[|\^[@admin », on a le temps de voir venir…. 😉
25 novembre 2009, 15h35 ·