Eu queria registrar um endereço de email @ live.com, mas ele diz que não pode registrar um endereço de email com uma senha que contenha mais de 16 caracteres.
Por quê? Para que seria mais fácil obter a senha real? (se os hashes da senha foram roubados...)
Respostas:
Na verdade, quando você md5 uma senha calcula um hash. Em seguida, a cadeia tem mais de 16 caracteres e alguns "hashes" podem colidir entre eles.
Por exemplo, se
md5("noroof")
der9ce405c98406f2f6d5326ee6b51d19cd
, é possível quemd5("ididntfixedmyroofwhenicould")
possa dar o mesmo hash9ce405c98406f2f6d5326ee6b51d19cd
. Lembre-se de que os hashes são compostos por 32 caracteres de "0123456789abcdf" (neste caso, para md5).Talvez eles forcem 16 caracteres porque o algoritmo que calcula o hash garante que não haverá colisão no banco de dados com uma senha salva anteriormente.
fonte