Je voulais enregistrer une adresse e-mail @ live.com, mais elle indique qu'elle ne peut pas enregistrer une adresse e-mail avec un mot de passe contenant plus de 16 caractères.
Pourquoi? Pour qu'il soit plus facile d'obtenir le vrai mot de passe? (si le hachage du mot de passe a été volé...)
Réponses:
En fait, lorsque vous md5 un mot de passe, il calcule un hachage. Ensuite, la chaîne est plus longue que 16 caractères certains "hachages" peuvent entrer en collision entre eux.
Par exemple, si
md5("noroof")
donne,9ce405c98406f2f6d5326ee6b51d19cd
il est possible quemd5("ididntfixedmyroofwhenicould")
cela donne le même hachage9ce405c98406f2f6d5326ee6b51d19cd
. N'oubliez pas que les hachages sont composés de 32 caractères de "0123456789abcdf" (pour md5 dans ce cas).Peut-être qu'ils forcent 16 caractères car l'algorithme qui calcule le hachage garantit qu'il n'y aura pas de collision dans la base de données avec un mot de passe précédemment enregistré.
la source