PHP / MySQL parolaları şifrelemek için kullanılacak iyi önerilen algoritma hangisi
Şu an düşünme YAVAŞ bir karma algo kullanmaktır. Bu, tüm bu girişimleri üreten çok zaman harcamak için "kaba üniteler eklenmiştir" neden olur.
Çok akıllı hala IP tarafından URI istekleri izlemek ve 5 oturum açma girişimleri verilen herhangi bir 5 dakikalık süre içinde aynı IP'den başarısız olduğunda açıklama ile bloke etmektir.
Banka-akıllı hala # 1, # 2 yapmak ve aynı zamanda ilk kez başarılı bir ikincil geçiş meydan okuma gerektiren etmektir. Lock-out ikinci meydan sonuçlara üçlü hatası.
Seviye 3 güvenlik çok, çok güçlü. Muhtemelen çok güçlü.
Çoğu insan şimdi bu algoritmalar kaba kuvvet saldırılarına karşı kötü olduğundan, SHA gitmek için en iyi yol değildir katılıyorum. Bu bcrypt, scrypt veya PBKDF2 kullanmak daha iyi see this Q&A.
Seçenekleri bir yeri vardır - tam liste için the php hash docs bkz.
Hızlı bir avantaj değildir, yani sha-512 veya jakuzi kullanarak iyi bir fikirdir. Örneğin 128 karakter uzunluğunda jakuzi, gibi bir şey karma ve verimlilik için sadece ilk 64 karakteri saklamak olabilir Sen, MySQL karma tam uzunlukta saklamak zorunda değilsiniz.
Miki725 raises interesting points with the Matasano article Whilst sha512 is better than md5 cryptographically, bcrypt beats them all because it is slower and thus costs more to attack. Slower is not bad the internet is slow already, it's millions of times slower than CPU cache, and thousands of times slower than disk. Making password checks take 200ms instead of 1ms to compute is not going to bother any users.
En önemlisi her kullanıcı için randomly üretilir ve different bir seferlik kullanmayı unutmayın.
bcrypt php yorumlanır ve bu saldırgana bazı avantaj sağlar, çünkü PHP alt-optimal olacak ama nasıl in this stackoverflow article var