Bcrypt, yavaş ve hesaplama açısından pahalı olacak şekilde tasarlanmış bir şifre hashleme fonksiyonudur ve brute-force saldırılarına karşı dirençlidir. Şifreleri güvenli bir şekilde depolamak için endüstri standardıdır.
Bcrypt Nasıl Çalışır
Bcrypt, bir tuz (salt) ve maliyet faktörü ile Blowfish şifrelemesini kullanır. Maliyet faktörü (turlar), algoritmanın kaç iterasyon gerçekleştirdiğini belirler - her artış hesaplama süresini ikiye katlar ve saldırıları üstel olarak zorlaştırır.
Neden Bcrypt Kullanılır?
Hızlı olan (şifreler için kötü) MD5/SHA'nın aksine, bcrypt kasıtlı olarak yavaştır. Bu, brute-force saldırılarını pratik olmaktan çıkarır. 10 maliyeti 2^10 (1.024) iterasyon anlamına gelir ve hashlemek ~100ms sürer - giriş için ihmal edilebilir ama milyarlarca şifre deneyen saldırganlar için yıkıcıdır.
Güvenlik En İyi Uygulamaları
Çoğu uygulama için 10-12 maliyet kullanın. Maliyet 10 mevcut önerilen minimumdur. Şifreler için asla MD5 veya SHA-1 kullanmayın - kırılmışlardır. Asla düz metin şifreleri saklamayın. Şifre hashlemek için her zaman bcrypt, Argon2 veya scrypt kullanın.