bcrypt Hash Üreteci

Ücretsiz çevrimiçi bcrypt Hash Üreteci aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.

General
Password Hashing / KDF
Specialized
Deprecated
Çıkış

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.

Savaşta Sınanmış Standart: bcrypt 25 yılı aşkın süredir üretim ortamında kullanılmaktadır ve parola depolama için güvenilir bir seçim olmaya devam etmektedir. OWASP minimum 10 maliyet faktörü önermekte olup cost=12'yi 2023 temel değeri olarak belirlemiştir. Yeni projeler için Argon2id tercih edilir; bcrypt mevcut sistemler için tamamen güvenilir olmaya devam eder.

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):

1. Karma Modu (Şifrele)'Şifrele' modunu seçin, giriş kutusuna parolayı girin ve 'Karma Hesapla' düğmesine tıklayın
2. Karma Değerini AlınÇıktı, $2b$12$... gibi 60 karakterlik bir bcrypt dizisidir — kopyalayın ve veritabanınıza kaydedin
3. Doğrulama Modu (Şifre Çöz)'Şifre Çöz' modunu seçin, giriş kutusuna parola|$2b$12$... (dikey çizgi ile ayrılmış) girin ve 'Şifre Çöz' düğmesine tıklayın
4. Sonucu Kontrol EdinParola doğruysa araç '✓ Password matches' döndürür; uyuşmuyorsa hata mesajı gösterir
Gizlilik Koruması: Tüm bcrypt hesaplamaları WebAssembly kullanılarak tamamen tarayıcınızda çalışır. Hiçbir veri hiçbir zaman sunucuya gönderilmez — tamamen çevrimdışı işlem.

Algoritma Özellikleri

bcrypt, parola depolamaya uygun çeşitli özelliklere sahiptir:

Kasıtlı Olarak YavaşBlowfish anahtar programı hesaplaması pahalıdır; bu durum her karma girişimini yavaşlatır ve kaba kuvvet saldırılarını maliyetli hale getirir
Yerleşik TuzHer karma, benzersiz bir 128 bit rastgele tuz içerir; bu sayede gökkuşağı tablosu ve özdeş parola saldırıları önlenir
Ayarlanabilir Maliyet FaktörüMaliyet faktörü (4–31) iş yükünü kontrol eder: her artış hesaplama süresini iki katına çıkararak donanım iyileştirmelerine ayak uydurmanızı sağlar
GPU DirenciBlowfish anahtar programının bellek erişim kalıpları, MD5 veya SHA-256 gibi daha basit karma işlevlerine kıyasla GPU paralelliğini sınırlar
Bağımsız Karma60 karakterlik çıktı ($2b$12$[22-karakter tuz][31-karakter karma]) doğrulama için gerekli tüm parametreleri içerir — ek meta veri gerekmez
Argon2'ye Karşı Sınırlama: bcrypt hesaplama sırasında yalnızca ~4 KB bellek kullanır; bu durum onu megabayt bellek gerektiren Argon2'ye kıyasla ASIC ve özel donanım saldırılarına karşı önemli ölçüde daha az dirençli kılar. Yeni projeler için Argon2id tercih edin. bcrypt mevcut sistemlerin bakımı için hâlâ uygundur.

Maliyet Faktörü Rehberi

Doğru maliyet faktörünü seçmek güvenlik ile sunucu performansı arasında denge kurar:

Maliyet 10OWASP minimum değeri (2023). Modern bir sunucuda ~100 ms. Düşük trafikli siteler veya kaynak kısıtlı ortamlar için kabul edilebilir
Maliyet 12OWASP 2023 temel önerisi. ~400 ms. Çoğu web uygulaması için iyi güvenlik ve performans dengesi
Maliyet 14~1,5 sn. Hassas uygulamalar (finans, sağlık) için yüksek güvenlik. UI engellemesini önlemek için asenkron işleme gerekebilir
Maliyet 31 (maks)Teorik maksimum — hesaplama saatler alır. Üretimde kesinlikle kullanmayın; yalnızca çevrimdışı arşivleme veya tanıtım amaçları için
Ayar İpucu: Üretim donanımınızda kıyaslama yapın ve karma başına 200–500 ms hedefleyin. CPU'lar yıllar içinde iyileştikçe, aynı duvar saati süresini korumak için maliyet faktörünü artırın. Yeni karmalar güncellenmiş maliyeti kullanabilir; maliyet karma dizisinde depolandığından mevcut karmalar doğrulanabilir olmaya devam eder.

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.

Recommended Configuration:
  • ✅ bcrypt (cost ≥ 12, yaygın destekli — mevcut sistemler için önerilir)
  • Argon2id (yeni projeler için tercih edilir)
  • PBKDF2-SHA256 (≥ 600k iterasyon, FIPS uyumlu ortamlar)
  • ❌ Parolalar için SHA-256, MD5 veya diğer genel amaçlı karmaları kullanmayın
Ö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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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).

Recommended Configuration:
  • ❌ Dosya şifreleme için bcrypt kullanmayın (geri alınamaz)
  • ❌ 72 bayttan uzun verilerin karma değerini bcrypt ile oluşturmayın
  • ✅ Simetrik dosya şifreleme için AES-256-GCM kullanın
  • ✅ Parola tabanlı anahtar türetme için Argon2id veya scrypt kullanın
Ö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.

Recommended Configuration:
  • ❌ 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.

Recommended Configuration:
  • ❌ 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.

Tartışma ve Geri Bildirim

0 yorum
Ben