bcrypt Oluşturucu
bcrypt, parolaları saklamak için hâlâ en güvenli seçeneklerden biridir. Bilerek yavaştır, kendi salt değerini türetir ve ayarlanabilir cost parametresiyle donanım gelişmelerine karşı ölçeklenir. Bu oluşturucu, bir test kullanıcısı seed etmek, bir hesabı sistemler arasında taşımak veya users.password sütununda saklanan mevcut bir hash ile değerleri karşılaştırmak için düz metin paroladan standarda uygun bcrypt hash üretir.
bcrypt ile parola nasıl hash'lenir
-
1
Düz metin parolayı girin
En fazla 72 byte: bcrypt bunun ötesini sessizce keser.
-
2
Bir cost faktörü seçin
12 burada varsayılandır; 10 daha hızlı eski bir seçimdir; 13 bu aracın en güçlü ayarıdır. Her +1 hash süresini kabaca ikiye katlar.
-
3
Rastgele salt oluşturulur
Kriptografik RNG'den 16 byte salt alınır ve ortaya çıkan hash stringine gömülür.
-
4
Hash'i kopyalayın
Çıktı, sürüm, cost, salt ve digest içeren `$2b$12$...` gibi kendini açıklayan bir stringdir.
Bir bcrypt hash’inin anatomisi
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
| | | |
| | salt (22 Base64 chars) digest (31 Base64 chars)
| cost (2 digits, 4-31)
version (2a, 2b, 2y, all bcrypt)
Tüm string 60 karakterdir. VARCHAR(60) veya CHAR(60) tipli sütunlar standart şemadır.
Cost faktörü önerileri
| Cost | Hash başına yaklaşık süre (2024 CPU) | Kullanım alanı |
|---|---|---|
| 10 | ~80 ms | Eski varsayılan, hâlâ kabul edilebilir |
| 12 | ~300 ms | Güncel önerilen taban |
| 13 | ~600 ms | Daha yüksek güvenlikli uygulamalar |
| 14 | ~1.2 s | Bu aracın kapsamı dışında (en fazla 13) |
Her artış iş faktörünü ikiye katlar. 500 ms altında giriş gecikmesi kritikse 10-12 aralığında kalın.
Sürüm byte’ı: 2a vs 2b vs 2y
$2a$, Orijinal 1999 spesifikasyonu. Çoğu kütüphane2ahash üretir.$2b$, crypt_blowfish içindeki kesme hatasını düzelten 2014 revizyonu. Yeni hash’ler için tercih edilir.$2y$, PHP’ye özgü etiket, işlevsel olarak$2b$ile aynıdır.
Üçü de birbirine karşı doğrulanır; yalnızca hash stringindeki etiket farklıdır.
bcrypt neye karşı korur?
- Rainbow table’lar, Hash başına benzersiz salt, önceden hesaplanmış aramaları boşa çıkarır.
- GPU/ASIC kırma, Blowfish key schedule belleğe bağımlıdır ve GPU’lara düşmanca davranır. Argon2 kadar GPU karşıtı değildir, ama brute force için hâlâ yavaştır.
- Veritabanı sızıntıları, Düz metin, brute force olmadan hash’ten geri getirilemez.
bcrypt’in korumadığı şeyler: zayıf parolalar (minimum uzunluk kullanın ve sızıntı listelerine karşı kontrol edin), credential stuffing (ikinci faktör kullanın), phishing.
72-byte sınırı
bcrypt parolanın yalnızca ilk 72 byte’ını kullanır. Daha uzun girdiler sessizce kesilir; birçok kütüphanenin artık parolayı bcrypt’e vermeden önce SHA-256 ile ön hash’lemeyi önermesinin nedeni de budur. Modern alternatiflerde (Argon2, scrypt) böyle bir sınır yoktur.
Sık Sorulan Sorular
Parola saklama için evet, cost ≥ 12 olduğunda. OWASP hâlâ bunu kabul edilebilir algoritma olarak listeler. Argon2id yeni sistemler için tercih edilen seçimdir, ama eski bcrypt hash’lerini taşımak düşük öncelikli bir kaygıdır.
Çünkü salt her hash için rastgele oluşturulur. Doğrulama, salt değerini saklanan hash’ten alır, gönderilen parolayı onunla yeniden hash’ler ve karşılaştırır.
Çoğu kütüphane bunu açığa çıkarmaz, iyi ki de çıkarmaz, tahmin edilebilir salt değerleri amacın kendisini bozar. Kütüphanenin ürettiği salt değerini kullanın; güvenli yol budur.
Her +1 hash süresini kabaca ikiye katlar; bu yüzden cost 13, cost 10’dan yaklaşık 8 kat daha uzun sürer. Uygulamanız gerçekten ekstra güce ihtiyaç duymuyorsa 10-12 aralığında kalın.
İlgili Araçlar
Base64 Dosya Kodlayıcı
Herhangi bir dosyayı (PDF, ZIP, görüntü, çalıştırılabilir dosya) JSON, e-posta, YAML veya data URI içine gömmek için Base64 metne kodlayın. Yerel çalışır, yükleme yok.
Atbash Şifre Kodlayıcı
Metni Atbash şifresiyle kodlayın veya çözün; A-Z harflerini Z-A ile eşleyen İbrani kökenli bir yerine koyma şifresidir. Aynı işlem hem şifreler hem çözer.
A1Z26 Şifre Kodlayıcı
A1Z26 şifresiyle (A=1, B=2, ... Z=26) metni kodlayın veya sayı dizisini özel ayraçla tekrar harflere çözün.
Base58 Kodlayıcı ve Çözücü
UTF-8 metnini veya onaltılık baytları kodlayın; Base58 verisini Bitcoin, Ripple ya da Flickr alfabesiyle güvenle çözün.
Base85 Kodlayıcı ve Çözücü
PostScript ve PDF dosyalarının içinde kullanılan Adobe Ascii85 biçimiyle Base85 kodlayın ve çözün. İkili veri için Base64'ten daha kompakttır.
AES Şifrele / Şifre Çöz
Düşük riskli metni OpenSSL AES şifreleriyle şifreleyin ve çözün. Parola cümlesi SHA-256 ile özetlenir; Base64 çıktı IV artı şifreli metin içerir.
Araç diğer dillerde mevcuttur
- Generador bcrypt [ES]
- مولد bcrypt [AR]
- Générateur bcrypt [FR]
- bcrypt-generator [NL]
- bcrypt 생성기 [KO]
- Generator bcrypt [ID]
- bcrypt Generator [EN]
- Trình tạo bcrypt [VI]
- bcrypt 生成器 [ZH]
- bcryptジェネレーター [JA]
- ตัวสร้าง bcrypt [TH]
- Gerador de bcrypt [PT]
- bcrypt-Generator [DE]
- bcrypt-generator [SV]
- Generator bcrypt [PL]
- Generatore bcrypt [IT]
- Генератор bcrypt [RU]