J'ai un mot de passe MD5 de 1 million de symboles et j'ai 999 992 premiers symboles. J'ai besoin de bruteforce les 8 derniers chiffres. Puis-je précomposer le hachage des premiers symboles (appelons-le hachage de base), puis juste 8 caractères longueur de la chaîne brute et ajouter son hachage à la base de hachage pour faire de trouver le droit de passer plus vite? Quel algorithme dois-je utiliser ou quel logiciel peut m'aider?Précalculer MD5
Répondre
Oui, c'est possible. MD5 est basé sur le Merkle-Damgård construction, qui exécute le hachage en blocs. Vous pouvez hacher un certain nombre de blocs, puis enregistrer l'état de la fonction de hachage et l'utiliser comme point de départ pour essayer différentes possibilités pour les blocs restants.
Sur la base de la documentation (je ne l'ai pas testé), je pense appeler clone()
sur Java MessageDigest
copiera l'état actuel de la fonction de hachage. Vous pouvez l'utiliser pour construire votre hash partiel à partir des caractères connus, puis créer un clone pour chaque proposition. Cela suppose que l'implémentation MD5 supporte réellement le clonage. Il y a une chance (en fonction de la langue et de la bibliothèque que vous utilisez) que vous ayez à écrire votre propre implémentation MD5.
Notez que la taille du bloc de MD5 est 512 bits (64 caractères), et la longueur de votre mot de passe (un million) est un multiple entier de cela. Cela signifie que vos caractères de mot de passe rempliront complètement le dernier bloc de données, et la fonction de hachage aura besoin d'un bloc supplémentaire pour le remplissage. Ainsi, vous précalculez le hash partiel des 999 936 premiers caractères que vous connaissez, puis vous produisez le bloc de données final parmi les 56 caractères restants que vous connaissez plus les 8 que vous devinez, puis ajoutez le bloc de remplissage après cela.
Une implémentation comme Java MessageDigest
devrait prendre soin des détails de la division des choses en blocs, cependant. Vous pouvez probablement (encore une fois, je n'ai pas testé) il suffit de créer un MessageDigest
, appelez digest(byte[])
avec vos 999 992 octets connus, puis appelez clone()
.
Mais je n'ai pas beaucoup de temps et j'ai besoin de brute seulement 1 mot de passe. Y a-t-il des programmes ou des bibliothèques qui peuvent le faire? – michaeluskov
Pas que je sache, mais je n'ai jamais regardé. Ce site est sur la programmation, pas de mot de passe, donc je réponds à votre question de programmation, pas votre besoin de casser un mot de passe. – Wyzard
J'ai essayé de hacher 999936 symboles, hacher 64 symboles (8 derniers chiffres = 0), puis ajouter chaque 8 octets de premier hachage à chaque 8 octets de la seconde. La réponse ne correspond pas à un hachage de 1 million de mots de passe. – michaeluskov
- 1. Comment précalculer un tableau de valeurs?
- 2. Comment mettre en cache/précalculer quelque chose (sans variable globale)?
- 3. comparaison PERL md5() et PHP md5()
- 4. MD5 MySQL et Java MD5 pas égal
- 5. Fonction md5()?
- 6. Computing md5
- 7. Obtenir un Adobe MD5 MD5 d'un fichier pour correspondre à PHP MD5
- 8. C# md5 être le même que PHPs md5 hash
- 9. PHP md5() donne une sortie différente puis MySQL md5
- 10. Blackberry encoder MD5 différent de MD5 en C#
- 11. Python MD5 ne correspond pas à md5 dans le terminal
- 12. hachage MD5 est différent
- 13. Génération de code MD5
- 14. md5 de l'objet pil
- 15. django md5 auth ajax
- 16. MySQL MD5 SELECT
- 17. comment décrypter md5
- 18. Codeigniter Wrong MD5
- 19. Boost MD5 soutien?
- 20. accélérer md5 programme
- 21. AppleScript et MD5
- 22. MD5 avec ASCII Char
- 23. Comment md5 en monotouch?
- 24. md5 et le sel
- 25. PHP hachage MD5
- 26. VB, DES et MD5
- 27. Spring Security Encrypt MD5
- 28. Approbation AppStore et md5
- 29. MD5 uuid collision?
- 30. Traitement de fichiers MD5
Vous parlez d'un mot de passe d'un million de caractères, pas d'un million de mots de passe différents, n'est-ce pas? – Wyzard
Oui. Un mot de passe qui contient un million de caractères. Je sais hash et tous les caractères sauf les 8 derniers et je veux trouver le bon mot de passe rapidement. – michaeluskov