Bcrypt ve Argon2 Şifre Hash Hesaplayıcı

Bcrypt — 1999’dan beri yaygın kullanılan güvenilir şifre hash algoritması. Cost factor her artışta hesaplama süresini 2x artırır. OWASP önerisi: minimum cost 10, ideal 12.
Sunucu Performansı
Cost Factor
Cost: 12
4 (çok hızlı)20 (çok yavaş)
Argon2 — Password Hashing Competition (2015) kazananı. Bellek maliyeti (memory-hard) sayesinde GPU/ASIC saldırılarına karşı daha dirençli. OWASP ilk tercihi. Argon2id önerilir.
Sunucu Kaynakları
Toplam RAM’in küçük bir kısmı. Tipik: 64–256 MB
CPU çekirdek sayısı veya yarısı
Argon2 Parametreleri
16384 KB
256 KB256 MB
OWASP minimum: 12288 KB (12 MB)
t = 3
120
ÖzellikBcryptArgon2idscryptPBKDF2
Yıl1999201520092000
Bellek MaliyetiSabit (4KB)✅ Ayarlanabilir✅ Ayarlanabilir❌ Yok
GPU DirenciOrta✅ Yüksek✅ Yüksek❌ Düşük
OWASP Önceliği2. sıra✅ 1. sıra3. sıra⚠️ Son seçenek
Max Şifre Uzunluğu⚠️ 72 byte✅ Sınırsız✅ Sınırsız✅ Sınırsız
PHP Desteğipassword_hash()password_hash() 7.2+⚠️ Eklentihash_pbkdf2()
Node.jsbcrypt / bcryptjsargon2 paketicrypto.scrypt()crypto.pbkdf2()
Pythonbcryptargon2-cffihashlib.scrypthashlib.pbkdf2_hmac
Öneri: Yeni projeler için Argon2id tercih edin. Mevcut Bcrypt kullanıyorsanız geçiş: bir sonraki login’de şifreyi Argon2id ile yeniden hash’leyin.

Şifre hash algoritmaları, kullanıcı şifrelerini veritabanında güvenli şekilde saklamak için kullanılır. MD5, SHA-1 ve SHA-256 şifre saklama için kesinlikle kullanılmamalıdır.

🔐 Güvenlik İlkeleri
  • ✦ Her şifre için benzersiz salt
  • ✦ Hash’leri saklayın, şifreleri değil
  • ✦ Timing-safe karşılaştırma
  • ✦ Bcrypt: 72 byte sınırına dikkat
  • ✦ Pepper (sunucu secret) eklenebilir
⚡ Performans Dengesi
  • ✦ Çok hızlı = brute force kolay
  • ✦ Çok yavaş = DoS riski
  • ✦ OWASP: 250–500 ms ideal
  • ✦ Donanım geliştikçe parametreyi artırın
  • ✦ Async hash işlemi kullanın
🚫 Kullanılmamalı
  • ✦ MD5 — çok hızlı, kırılmış
  • ✦ SHA-1 / SHA-256 — uygunsuz
  • ✦ SHA-512 — uygunsuz
  • ✦ Tuzlanmamış hash
  • ✦ Tersine çevrilebilir şifreleme
📋 OWASP Minimumlar
  • ✦ Bcrypt: cost ≥ 10
  • ✦ Argon2id: m≥12288, t≥1, p≥1
  • ✦ scrypt: N≥32768, r=8, p=1
  • ✦ PBKDF2-HMAC-SHA256: ≥600.000