Chciałem zarejestrować adres e-mail @ live.com, ale mówi, że nie można zarejestrować adresu e-mail z hasłem zawierającym więcej niż 16 znaków.
Dlaczego? Czy łatwiej byłoby uzyskać prawdziwe hasło? (jeśli skróty hasła zostały skradzione ...)
Chciałem zarejestrować adres e-mail @ live.com, ale mówi, że nie można zarejestrować adresu e-mail z hasłem zawierającym więcej niż 16 znaków.
Dlaczego? Czy łatwiej byłoby uzyskać prawdziwe hasło? (jeśli skróty hasła zostały skradzione ...)
Odpowiedzi:
Właściwie dlatego, że kiedy md5 hasło oblicza skrót. Wtedy łańcuch ma więcej niż 16 znaków, niektóre „skróty” mogą kolidować między nimi.
Na przykład jeśli md5("noroof")
daje 9ce405c98406f2f6d5326ee6b51d19cd
to możliwe, że md5("ididntfixedmyroofwhenicould")
może dać ten sam skrót 9ce405c98406f2f6d5326ee6b51d19cd
. Pamiętaj, że skróty składają się z 32 znaków „0123456789abcdf” (w tym przypadku dla md5).
Może wymuszają 16 znaków, ponieważ algorytm obliczający skrót zapewnia, że w bazie danych nie wystąpi kolizja z wcześniej zapisanym hasłem.