FRKT işaret ettiği gibi, the post by Thomas Ptacek at chargen.matasano.com açıklıyor simple, general-purpose hashing functions such as MD5, SHA1, SHA256 and SHA512 are poor password hashing choices.
Neden? Onlar çok hızlı - en az 1.000.000 MD5, modern bir bilgisayar ile çekirdek başına bir saniye sağlamalarının yüzden kaba kuvvet insanların kullanımı çoğu şifreler karşı mümkün olduğunu hesaplayabilirsiniz. Ve bu bir GPU tabanlı çatlama sunucu kümesi daha az bulunuyor!
Germe anahtarı olmadan tuzlama sadece gökkuşağı tablo precompute anlamına gelir, bu belirli tuz için ad hoc inşa etmek gerekir. Ama gerçekten işler bu kadar zor yapmaz.
Will @ Kullanıcı diyor ki:
Everyone is talking about this like they can be hacked over the
internet. As already stated, limiting attempts makes it impossible to
crack a password over the Internet and has nothing to do with the
hash.
Onlar gerekmez. Görünüşe göre, içinde the case of LinkedIn onlar ortak SQL injection vulnerability giriş DB tablo almak için kullanılan ve şifreleri çevrimdışı milyonlarca kırık.
Sonra çevrimdışı saldırı senaryosunda geri gider:
The security really comes into play when the entire database is
compromised and a hacker can then perform 100 million password
attempts per second against the md5 hash. SHA512 is about 10,000 times
slower.
Hayır, SHA512 10000 kez MD5 daha yavaş değil - bu sadece yaklaşık iki katı kadar sürer. Crypt/SHA512, diğer taraftan, rastgele bir tuzu ile, bir çok farklı karma üreten, kendi BCrypt muadili gibi, key stretching gerçekleştiren, çok farklı bir hayvan olan dahili ve bir şey alacak 500 ve hesaplamak için 999999 kat daha fazla (germe tunable).
SHA512 => aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Crypt/SHA512 => $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
Yani PHP için seçim Crypt / Blowfish (BCrypt), Crypt/SHA256 veya Crypt/SHA512 belirtilebilir. Ya da en azından Crypt/MD5 (PHK). Bkz www.php.net/manual/en/function.crypt.php