Saya ingin mendaftarkan alamat email @ live.com, tetapi dikatakan tidak bisa mendaftarkan alamat email yang memiliki kata sandi yang berisi lebih dari 16 karakter.
Mengapa? Sehingga akan lebih mudah untuk mendapatkan kata sandi asli? (jika hash kata sandi dicuri ...)
Jawaban:
Sebenarnya karena ketika Anda md5 kata sandi menghitung hash. Kemudian string lebih panjang dari 16 karakter yang beberapa "hashes" dapat bertabrakan di antara mereka.
Sebagai contoh jika
md5("noroof")
memberi9ce405c98406f2f6d5326ee6b51d19cd
itu mungkin yangmd5("ididntfixedmyroofwhenicould")
bisa memberikan hash yang sama9ce405c98406f2f6d5326ee6b51d19cd
. Ingat bahwa hash disusun oleh dengan 32 karakter "0123456789abcdf" (untuk md5 dalam kasus ini).Mungkin mereka memaksa 16 karakter karena algoritma yang menghitung hash memastikan bahwa tidak akan ada tabrakan dalam database dengan kata sandi yang disimpan sebelumnya.
sumber