Je suis en train de faire une présentation sur les collisions MD5 et j'aimerais donner aux gens une idée de la probabilité d'une collision.
Il serait bon d'avoir deux blocs de texte, qui de hachage à la même chose, et d'expliquer comment de nombreuses combinaisons de [a-zA-Z ] ont été nécessaires avant que j'ai touché une collision.
La réponse évidente est de hachage toutes les combinaisons possibles jusqu'à frapper deux hachages de même. Alors, comment vous y prendriez-vous que ce codage. Comme une expérience rapide, j'ai essayé de hachage chaque combinaison de 5 colonnes de [A-Z], le stockage de ce dans une .filet de table de hachage et d'attraper la collision d'exception. Deux problèmes avec cette - la table de hachage finalement son temps, et je suis sûr que je vais avoir besoin de BEAUCOUP plus de caractères.
Évidemment, cette structure de données est trop grand pour tenir dans la mémoire, donc maintenant je vais avoir à obtenir une base de données concernées. Sonne comme un bon projet pour tester azur - un peu comme ces gars-là.
Quelqu'un peut me pointer dans la direction d'un efficace moyen de faire cela?