[Hash] Est-il possible de décrypter les hachages md5?


Answers

Tu ne peux pas. Le but principal d'un hachage est que c'est un moyen seulement. Cela signifie que si quelqu'un parvient à obtenir la liste des hachages MD5, il ne peut toujours pas obtenir votre mot de passe. (Cela ne veut pas dire que MD5 est aussi sécurisé que ça, mais ça ne fait rien.) De plus cela signifie que même si quelqu'un utilise le même mot de passe sur plusieurs sites (oui, nous savons tous que nous ne devrions pas, mais ...) administrateurs du site A ne pourra pas utiliser le mot de passe de l'utilisateur sur le site B.

Même si vous le pouvez, vous ne devriez pas leur envoyer un mot de passe - ce sont des informations sensibles qui peuvent rester sensibles.

Au lieu de cela, créez un outil pour réinitialiser le mot de passe en fonction d'une valeur de hachage horodatée qui ne peut être utilisée qu'une seule fois. Envoyez-leur une url qui contient cette valeur de hachage horodatée et laissez-les changer leur mot de passe. En outre, si vous le pouvez, faites en sorte que le hachage horodaté expire après une courte période (par exemple 24 heures) afin que même s'il ne change pas le mot de passe (parce qu'il ne se connecte pas), la fenêtre de vulnérabilité est réduite.

De nombreux systèmes génèrent un nouveau mot de passe aléatoire et les envoient par courrier électronique, ce qui les oblige à les modifier lors de la première connexion. Ce n'est pas souhaitable car quelqu'un pourrait changer chaque mot de passe dans votre système en forçant brutalement le formulaire de réinitialisation de mot de passe.

Question

Quelqu'un m'a dit qu'il a vu des systèmes logiciels qui accepteraient des mots de passe cryptés MD5 (via diverses intégrations avec d'autres systèmes), les décrypteraient et les stockeraient dans la propre base de données des systèmes en utilisant son propre algorithme.

Est-ce possible? Je pensais qu'il n'était pas possible (possible) de décrypter les hachages MD5.

Je sais qu'il existe des dictionnaires MD5, mais existe-t-il un algorithme de décryptage?




Vous pouvez le faire d'une manière, essayez en ligne md5decrypter .




Pas directement. En raison du principe du pigeonhole , il y a (probablement) plus d'une valeur qui hache toute sortie MD5 donnée. En tant que tel, vous ne pouvez pas l'inverser avec certitude. De plus, MD5 est fait pour rendre difficile la recherche d' un tel hachage inversé (cependant il y a eu des attaques qui produisent des visualization - c'est-à-dire produire deux valeurs qui ont le même résultat, mais vous ne pouvez pas contrôler la valeur MD5 résultante être).

Cependant, si vous limitez l'espace de recherche à, par exemple, des mots de passe communs avec une longueur sous N, vous pourriez ne plus avoir la propriété irréversibilité (parce que le nombre de sorties MD5 est beaucoup plus élevé que le nombre de chaînes). Ensuite, vous pouvez utiliser une table arc-en-ciel ou similaire pour inverser les hachages.




Il n'y a pas de moyen facile de le faire. C'est un peu le point de hachage du mot de passe en premier lieu. :)

Une chose que vous devriez être en mesure de faire est de définir un mot de passe temporaire pour eux manuellement et de les envoyer.

J'hésite à le mentionner car c'est une mauvaise idée (et ce n'est pas garanti de fonctionner de toute façon), mais vous pouvez essayer de chercher le hachage dans une table arc-en-ciel comme milw0rm pour voir si vous pouvez récupérer l'ancien mot de passe.




Il n'y a aucun moyen de "renverser" une fonction de hachage en termes de trouver la fonction inverse pour elle. Comme mentionné précédemment, c'est le point entier d'avoir une fonction de hachage. Il ne devrait pas être réversible et devrait permettre un calcul rapide de la valeur de hachage. La seule façon de trouver une chaîne d'entrée qui donne une valeur de hachage donnée est d'essayer toutes les combinaisons possibles. C'est ce qu'on appelle une attaque par force brute pour cette raison.

Essayer toutes les combinaisons possibles prend beaucoup de temps et c'est aussi la raison pour laquelle les valeurs de hachage sont utilisées pour stocker les mots de passe d'une manière relativement sûre. Si un attaquant est capable d'accéder à votre base de données avec tous les mots de passe utilisateur à l'intérieur, vous perdez dans tous les cas. Si vous avez des valeurs de hachage et (idéalement parlant) des mots de passe forts, il sera beaucoup plus difficile d'obtenir les mots de passe des valeurs de hachage pour l'attaquant.

Le stockage des valeurs de hachage n'est pas non plus un problème de performance car le calcul de la valeur de hachage est relativement rapide. Ainsi, la plupart des systèmes calculent la valeur de hachage du mot de passe saisi par l'utilisateur (ce qui est rapide), puis le comparent à la valeur de hachage stockée dans leur base de données utilisateur.




MD5 a ses faiblesses (voir Wikipedia ), il y a donc des projets qui essayent de précalibrer Hashes. Wikipédia fait également allusion à certains de ces projets. Celui que je connais (et le respect) est ophrack. Vous ne pouvez pas dire à l'utilisateur son propre mot de passe, mais vous pouvez lui indiquer un mot de passe qui fonctionne. Mais je pense: juste envoyer un nouveau mot de passe au cas où ils ont oublié.




Vous ne pouvez pas restaurer un mot de passe md5 (dans n'importe quelle langue)

Mais tu peux:

donner à l'utilisateur un nouveau.

vérifier dans une certaine arc-en-table pour peut-être récupérer l'ancien.




Non, ça ne peut pas être fait. Soit vous pouvez utiliser un dictionnaire, soit vous pouvez essayer de hacher des valeurs différentes jusqu'à obtenir le hachage que vous recherchez. Mais il ne peut pas être "décrypté".




Décryptage (obtenir directement le texte brut de la valeur hachée, de manière algorithmique), non.

Il existe cependant des méthodes qui utilisent ce qu'on appelle une table arc-en-ciel . C'est très faisable si vos mots de passe sont hachés sans sel.




Il n'est pas encore possible de placer un mot de passe dans un algorithme et de récupérer le mot de passe en texte brut, car le hachage est unidirectionnel. Mais ce que les gens ont fait est de générer des hachages et de les stocker dans une grande table de sorte que lorsque vous entrez un hash particulier, il vérifie la table pour le mot de passe qui correspond au hachage et vous renvoie ce mot de passe. Un exemple d'un site qui fait cela est md5online . Le système de stockage de mot de passe moderne le compense en utilisant un algorithme de salage tel que lorsque vous entrez le même mot de passe dans une boîte de mot de passe pendant l'enregistrement, différents hachages sont générés.




L'algorithme Hash MD5 n'est pas réversible, donc le décodage MD5 n'est pas possible, mais certains sites Web ont un ensemble de mots de passe, donc vous pouvez essayer en ligne de décoder le hachage MD5.

Essayez en ligne:

MD5 Décrypter

md5online

md5decrypter