Я хотел зарегистрировать адрес электронной почты @ live.com, но там говорится, что он не может зарегистрировать адрес электронной почты с паролем, который содержит более 16 символов.
Почему? Чтобы было проще получить реальный пароль? (если хеши паролей были украдены ...)
Ответы:
На самом деле, потому что, когда вы md5 пароль, он вычисляет хэш. Тогда строка длиннее 16 символов, некоторые «хэши» могут столкнуться между ними.
Например, если
md5("noroof")
дает,9ce405c98406f2f6d5326ee6b51d19cd
возможно, чтоmd5("ididntfixedmyroofwhenicould")
может дать тот же хэш9ce405c98406f2f6d5326ee6b51d19cd
. Помните, что хэши состоят из 32 символов «0123456789abcdf» (в данном случае для md5).Может быть, они используют 16 символов, потому что алгоритм, который вычисляет хеш, гарантирует, что не будет столкновения в базе данных с ранее сохраненным паролем.
источник