bcrypt Hash Oluşturucu
Hash oluştur
Daha yüksek = daha yavaş ve daha güvenli. 12 iyi bir varsayılandır.
Bazen eski bir yedekten gelen bcrypt hash’iniz ve düz metin bir parolanız olur; eşleşip eşleşmediklerini bilmeniz gerekir. Ya da elinizde bir parola vardır ve belirli bir cost faktörünün üreteceği hash’i istersiniz. Bu araç ikisini de yapar: bir parola yazınca taze hash üretir, hash ve aday parola yapıştırınca doğrulamanın başarılı olup olmadığını söyler, üretim ortamındaki giriş kontrolüyle aynı constant-time karşılaştırmayı kullanarak.
bcrypt üretme veya doğrulama
-
1
Bir mod seçin
Paroladan yeni hash üretin veya parolayı mevcut `$2a$` / `$2b$` / `$2y$` hash'ine karşı doğrulayın.
-
2
Üretme için: düz metin ve cost girin
Cost 4-13; 10-12 normaldir. Her hash için 16-byte rastgele salt oluşturulur.
-
3
Doğrulama için: hash ve düz metni yapıştırın
Araç salt ve cost değerini hash'ten çıkarır ve düz metni aynı parametrelerle yeniden hash'ler.
-
4
Sonucu okuyun
Üretme modu 60 karakterlik hash'i kopyalar; doğrulama modu yeşil eşleşme veya kırmızı uyuşmazlık döndürür.
Doğrulama modunun iç işleyişi
Şöyle saklanmış bir hash verildiğinde:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Doğrulayıcı:
- Sürümü (
2b), cost’u (12), salt’ı (cost’tan sonraki ilk 22 karakter) ve digest’i (son 31 karakter) parse eder. - Aday düz metin üzerinde çıkarılan salt ve cost ile bcrypt’i yeniden çalıştırır.
- Ortaya çıkan digest’i constant-time karşılaştırma kullanarak orijinaliyle karşılaştırır.
Başarılı karşılaştırma true; herhangi bir fark false üretir.
Constant-time karşılaştırma
İki stringi saf == ile karşılaştırmak, bir byte farklı olduğu anda döner, yeterince örnekle hash’i basamak basamak sızdırabilen bir timing side channel. Üretim parolası kontrolleri (ve bu araç), her zaman her byte’ı inceleyen constant-time karşılaştırma kullanır; bu yüzden karar süresi kaç baştaki byte’ın eşleştiğine bağlı değildir.
Yaygın tanı durumları
| Belirti | Olası neden |
|---|---|
| Doğrulama başarısız, paroladan eminsiniz | Girdide sondaki boşluk veya BOM. İkisini de temizleyin. |
Doğrulama başarısız, sürüm 2y |
Bazı kütüphaneler 2y sevmez; geçerli ve uyumludur. İleriye dönük 2b ile yeniden hash’leyin. |
| Hash çok kısa / bozuk | bcrypt hash’i değil. MD5 32 hex karakterdir, SHA-1 40, bcrypt ise $ ayraçlarıyla 60 karakterdir. |
| Cost uyuşmazlığı uyarısı | Saklanan cost, politika minimumunuzun altında. Bir sonraki başarılı girişte yeniden hash’leyin. |
Girişte yeniden hash’leme
En iyi uygulama: kullanıcı başarılı giriş yaptığında, saklanan hash’in cost değerinin güncel politikanızdan düşük olup olmadığını kontrol edin. Düşükse parolayı yeni cost ile yeniden hash’leyip veritabanını güncelleyin. Birkaç ay içinde kullanıcı tabanının tamamını kimseden parola değiştirmesini istemeden yükseltirsiniz.
Bu araç ne yapmaz?
- Toplu doğrulama, Her seferinde tek hash için tasarlanmıştır.
- Kırma veya brute force, Sözlük ya da rainbow-table saldırıları bilerek kapsam dışıdır.
- Düz metni geri alma, bcrypt tek yönlüdür; parolayı unuttuysanız tek yol sıfırlamaktır.
Sık Sorulan Sorular
Hash’leme ve doğrulama sunucumuzda hesaplandığı için parola, şifreli bir bağlantıyla sunucumuza gönderilir. Saklanmaz, kaydedilmez ve sayfa bağlantısına asla eklenmez.
Salt her hash için rastgele oluşturulur. Zaten bütün amaç budur, aynı parolaya sahip iki kullanıcı farklı hash alır ve rainbow table’lar boşa çıkar.
Evet, doğrulama modu tam olarak bunu yapar: elinizdeki hash’i yapıştırın, aday parolayı yapıştırın; araç eşleşmeyi onaylar veya reddeder.
Evet. Tüm modern varyantlar birlikte çalışır, digest sürümler arasında uyumludur; yalnızca etiket farklıdır. 2000 dönemi sistemlerinden gelen bazı eski $2$ hash’leri açık legacy desteği olan bir kütüphane gerektirebilir.
İlgili Araçlar
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.
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.
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.
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.
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.
bcrypt Oluşturucu
Düz metin paroladan bcrypt hash üretin. 4 ile 13 arasında ayarlanabilir cost faktörü; Laravel, Django, Node ve PHP ile uyumludur.
Araç diğer dillerde mevcuttur
- Generador de Hash bcrypt [ES]
- مولد Hash bcrypt [AR]
- Générateur de hachage bcrypt [FR]
- bcrypt-hashgenerator [NL]
- bcrypt 해시 생성기 [KO]
- Generator Hash bcrypt [ID]
- bcrypt Hash Generator [EN]
- Trình tạo hash bcrypt [VI]
- bcrypt 哈希生成器 [ZH]
- bcrypt Hashジェネレーター [JA]
- ตัวสร้าง bcrypt Hash [TH]
- Gerador de Hash bcrypt [PT]
- bcrypt-Hash-Generator [DE]
- bcrypt-hashgenerator [SV]
- Generator hashy bcrypt [PL]
- Generatore di hash bcrypt [IT]
- Генератор bcrypt-хешей [RU]