bcrypt Hash Üreteci
Ücretsiz çevrimiçi bcrypt Hash Üreteci aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Karma Hesapla
Usage Guide
bcrypt Hakkında
bcrypt, Niels Provos ve David Mazières tarafından 1999 yılında Blowfish şifresine dayanarak tasarlanan bir parola karma işlevidir. Kaba kuvvet saldırılarını pratik olmaktan çıkarmak için kasıtlı olarak yavaş ve hesaplama açısından pahalı olacak şekilde geliştirilmiştir. bcrypt, dünyada en yaygın kullanılan parola karma algoritmalarından biridir; Rails, Django, Laravel ve Node.js (bcryptjs) gibi çerçeveler tarafından yerel olarak desteklenmektedir. Her bcrypt karma değeri, rastgele bir tuz ve maliyet faktörü içerir; bu nedenle karma değeri doğrulama için tamamen bağımsızdır.
Kullanım Adımları
Bu araç iki işlemi destekler: parola karma oluşturma (Şifrele) ve bir karma değerine karşı parolayı doğrulama (Şifre Çöz):
Algoritma Özellikleri
bcrypt, parola depolamaya uygun çeşitli özelliklere sahiptir:
Maliyet Faktörü Rehberi
Doğru maliyet faktörünü seçmek güvenlik ile sunucu performansı arasında denge kurar:
FAQ
Q: bcrypt çıktı formatı nedir?
A: Bir bcrypt karması her zaman tam olarak 60 karakter uzunluğundadır ve şöyle görünür: $2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/lewdBdXyXu2zXpOme.
Ayrıntılar:$2b$: bcrypt sürüm tanımlayıcısı.12$: Maliyet faktörü.
Sonraki 22 karakter: Base64 kodlamalı 128 bit rastgele tuz.
Son 31 karakter: Base64 kodlamalı 184 bit türetilmiş karma.
Temel özellik: Tüm parametreler diziye gömülüdür — parolayı daha sonra doğrulamak için ek depolama gerekmez.
Q: bcrypt ile Argon2 nasıl karşılaştırılır?
A: bcrypt (1999): hesaplama açısından zor, ~4 KB bellek, orta düzey GPU direnci, evrensel destek. Argon2 (2015): bellek açısından zor (yapılandırılabilir, varsayılan 64 MB), çok daha güçlü ASIC/GPU direnci, OWASP ve NIST tarafından tercih edilir. bcrypt ne zaman kullanılır: Mevcut sistemi sürdürürken veya Argon2 henüz mevcut değilken. Argon2 ne zaman kullanılır: Tüm yeni projelerde.
Q: bcrypt neden dosyaların veya büyük verilerin karma değeri için kullanılamaz?
A: bcrypt'in 72 baytlık giriş sınırı vardır. 72. baytın ötesindeki karakterler sessizce yok sayılır. Dosya bütünlüğü için SHA-256 veya SHA-512 kullanın. bcrypt özellikle yalnızca kısa, insan tarafından girilen parolalar için tasarlanmıştır.
Q: Veritabanım ele geçirilirse bcrypt güvenli midir?
A: Evet — bcrypt karması tek yönlüdür. cost=12 ile tek bir CPU çekirdeği saniyede yaklaşık 2–5 karma deneyebilir; bu da güçlü paralolara karşı kapsamlı saldırıları pratikte imkânsız kılar. Ancak bcrypt zayıf parolaları korumaz — her zaman minimum parola güç politikası uygulayın.
Q: Üretimde hangi maliyet faktörünü kullanmalıyım?
A: OWASP 2023 önerisi: temel olarak cost=12. Üretim sunucunuzda kıyaslama yapın ve karma değerini 500 ms altında tutan en yüksek maliyet faktörünü seçin. Asla cost=10'un altına inmeyin. Donanım geliştikçe her 2–3 yılda bir gözden geçirin.
Q: bcrypt API anahtarı veya token depolamak için kullanılabilir mi?
A: Evet, uyarılarla birlikte. bcrypt, 72 bayttan kısa ve seyrek doğrulanan API anahtarları ve tokenları için uygundur. Yüksek frekanslı doğrulama için bunun yerine hızlı bir SHA-256 + tuz yaklaşımı kullanın.
Use Cases
Önerilen: Kullanıcı Parolası Depolama
Bu bcrypt'in birincil kullanım durumudur. bcrypt (cost ≥ 12) ile karma oluşturun ve 60 karakterlik dizeyi saklayın. Girişte bcrypt doğrulaması çalıştırın. bcrypt, Rails (has_secure_password), Django, Laravel ve Node.js (bcryptjs) içinde yerleşik olarak desteklenir.
Önerilen: Eski Sistem Uyumluluğu
Milyonlarca bcrypt karması depolayan sistemler için bcrypt kullanmaya devam edin ve donanım geliştikçe maliyet faktörünü artırın. Yeni kullanıcılar şeffaf biçimde Argon2id'ye yükseltme yapabilirken, bcrypt karmaları ($2b$ önekiyle tanımlanır) doğru biçimde doğrulanmaya devam eder.
- ✅ Mevcut karmalar için bcrypt'i koruyun — zorunlu geçiş gerekmez
- ✅ Yeni ve güncellenen parolalar için Argon2id'yi kademeli olarak benimseyin
- ✅ Doğrulamayı yönlendirmek için karma öneki tespiti ($2b$ vs $argon2id$) kullanın
- 💡 Geçiş ilerlemesini izlemek için kullanıcı başına kullanılan algoritmayı kaydedin
Kabul Edilebilir: API Anahtarı Karma Oluşturma
bcrypt, veritabanına kaydedilmeden önce API anahtarlarının karma değerini oluşturabilir. Büyük ölçekte istek başına doğrulama için hızlı bir HMAC-SHA256 şeması veya anahtarın SHA-256 karmasını tercih edin.
- ✅ bcrypt (cost=10–12, düşük frekanslı doğrulama için uygun)
- ✅ SHA-256 + tuz (daha hızlı, yüksek entropili anahtarlar için uygun)
- ✅ HMAC-SHA256 (istek başına token imzalama için)
- 💡 Hızlı arama için veritabanı dizini olarak karma önekini (ilk 8 karakter) kullanın
Önerilmez: Dosya veya Veri Şifreleme
bcrypt bir tek yönlü karma işlevidir, şifreleme algoritması değildir. Dosyaları şifreleyemez. Ayrıca bcrypt'in 72 baytlık giriş sınırı, dosya içeriklerinin karma oluşturulmasını da uygunsuz kılar. Dosya şifreleme için simetrik bir şifre kullanın (örn., AES-256-GCM).
Önerilmez: Genel Veri Karma Oluşturma
bcrypt, genel amaçlı veri bütünlüğü kontrolleri için çok yavaştır. Bütünlük doğrulaması için SHA-256 veya SHA-512 kullanın.
- ❌ Veri bütünlüğü kontrolleri veya içerik karma oluşturma için bcrypt kullanmayın
- ✅ SHA-256 (genel amaçlı bütünlük karma oluşturma)
- ✅ BLAKE2b (yüksek hızlı kriptografik karma oluşturma)
- ✅ SHA-3 / SHA-512 (daha yüksek güvenlik marjı)
Önerilmez: Yüksek Frekanslı Kimlik Doğrulama
bcrypt yavaş olacak şekilde tasarlanmıştır (cost=12'de ~200–500 ms). Her API isteğinde çalıştırmak sunucunuzu çökertir. bcrypt'i yalnızca girişte bir kez kullanın — ardından sonraki istekler için imzalı bir JWT yayınlayın.
- ❌ Her API isteğinde bcrypt çalıştırmayın
- ✅ JWT + HMAC-SHA256 (durumsuz, istek başına hızlı kimlik doğrulama)
- ✅ Session + Cookie (geleneksel sunucu taraflı oturum yönetimi)
- ✅ OAuth 2.0 / OpenID Connect (federe kimlik, token tabanlı)
En İyi Uygulama Özeti
- Mevcut sistemlerde kullanıcı parolası depolamak için bcrypt (cost ≥ 12) kullanın. Yeni projeler için Argon2id'yi tercih edin.
- Genel veri karma oluşturma, dosya şifreleme veya 72 bayttan büyük veriler için bcrypt kesinlikle kullanmayın.
- Üretim donanımında kıyaslama yapın ve karma başına 200–500 ms hedefleyin. Her 2–3 yılda bir maliyet faktörünü artırın.
- Yüksek frekanslı kimlik doğrulama senaryolarında bcrypt'i yalnızca girişte kullanın, ardından JWT veya oturum tokenları yayınlayın.
- bcrypt'ten Argon2id'ye kademeli geçiş: mevcut karmalar için bcrypt'i koruyun, yeni parolalar için Argon2id kullanın.