Hey

,
J'aimerais juste préciser que l'on n'a pas réussi à casser le cryptage MD5. C'est comme dire qu'on a réussi à casser RSA, c'est débile … C'est juste avec du
brute force que l'on arrive à trouver la valeur d'origine, par tests successifs. Pareil pour RSA, on teste toutes les combinaisons de
n,
p,
q (donc
d) possibles, jusqu'à tomber sur la bonne clé privée (car la publique est connue). Impossible de faire des statistiques ou de regarder les fréquences ou ce genre de choses, c'est du
brute force et que ça.
Ce genre d'algorithme n'est pas cassable pour une raison simple : une raison Mathématiques. Ils sont basés sur des fonctions à sens unique, comme le modulus par exemple. On ne peut pas revenir en arrière,
i.e. trouver les valeurs d'origines, sauf par tests successifs.
Et j'en viens à ce qu'à dit @rthur : « Les rainbow tables permettent de casser un md5 en moins d'une seconde » … euh, c'est un peu court quand même. Pour comparer des millions de valeurs, c'est un peu léger non ? Enfin, si c'est en local, peut-être, mais avec 32 octets, on a le temps de voir les tests s'enchaîner non ?
Enfin, quitte à choisir entre 32 et 40 octets, autant prendre le plus grand, ce sera le plus dur à casser, logique. Je ne connais pas la façon de procéder de SHA1, mais s'il utilise des fonctions à sens unique et qu'il produit des
hashes plus grand, il est à préférer, naturellement.