Bcrypt Şifresi jeneratör
Tarayıcınızda anında güvenli bcrypt şifre karmaları oluşturun. Maliyet faktörünüzü ve karma şifrelerinizi istemci tarafında seçin; tamamen özel ve ücretsiz.
Tarayıcınızda anında güvenli bcrypt şifre karmaları oluşturun. Maliyet faktörünüzü ve karma şifrelerinizi istemci tarafında seçin; tamamen özel ve ücretsiz.
bcrypt, Niels Provos ve David Mazières tarafından 1999 yılında tasarlanan ve Blowfish şifresinden türetilen bir şifre karma işlevidir. SHA-256 gibi genel amaçlı karma işlevlerinin aksine, bcrypt kasıtlı olarak yavaştır ve bir maliyet parametresi aracılığıyla yapılandırılabilir şekilde yavaştır; bu tam olarak bir parola karma makinesinin ihtiyaç duyduğu özelliktir. Daha hızlı bir karma işlevi, saldırganların saniyede daha fazla adaya kaba kuvvet uygulayabilmesini sağlar; daha yavaş olanı onları sınırlar.
bcrypt ayrıca otomatik olarak parola başına tuz ekleyerek önceden hesaplanmış gökkuşağı tablolarına dayalı tüm saldırı sınıfını ortadan kaldırır. Tuz ve maliyet parametresi bcrypt çıktısının bir parçası olarak saklanır, dolayısıyla doğrulama yalnızca saklanan karma ve aday şifreye ihtiyaç duyar; ayrı bir tuz yönetimi gerekmez. Yavaşlık, tuz ve kendi kendine yeten formatın bu birleşimi, bcrypt'i yirmi yıl boyunca varsayılan şifre karması haline getirdi ve bugün güçlü bir seçim haline getirdi.
Modern alternatifler mevcut. Argon2, 2015 Şifre Hashing Yarışmasını kazandı ve zaman sertliğinin yanı sıra hafıza sertliği de sunuyor. scrypt benzer özellikler sunar. Yeni tasarımlar için Argon2id önerilen seçimdir. bcrypt, özellikle Argon2'nin bulunmadığı ortamlarda kabul edilebilir ve yaygın olarak kullanılmaya devam ediyor.
Parolaları düz metin olarak saklamak yanlış bir uygulamadır. Bunları SHA-256 gibi hızlı bir hash ile depolamak çok daha iyidir; modern GPU'lar saniyede milyarlarca SHA-256 hash'i hesaplar ve herhangi bir ortak şifreye karşı kaba kuvvet saldırılarını saatler içinde mümkün kılar. bcrypt'in kasıtlı yavaşlaması ekonomiyi değiştirir: maliyet faktörü 12'de, bir saldırgan aday parolası başına yaklaşık 250 ms harcar ve bu da önemsiz olmayan herhangi bir parola için kaba kuvvet kullanımını kullanışsız hale getirir.
bcrypt'in otomatik şifre başına tuz özelliği aynı zamanda gökkuşağı tablo saldırılarını da yener. Aynı parolaya sahip iki kullanıcı, tuzları farklı olduğundan farklı bcrypt karmaları üretir. Parola veritabanının ele geçirilmesi, saldırganın yaygın parolaları veya önceden hesaplanmış tablo isabetlerini hızlı bir şekilde belirlemesine izin vermez.
Bir şifre yazın, maliyeti seçin, karmayı alın.
bcrypt, değiştirilmiş bir Blowfish şifresinin 2 maliyet katı tekrarlanan anahtar kurulum aşamasını kullanır. Maliyet faktörü logaritmiktir; maliyet 12, maliyet 11'den iki kat daha yavaş, maliyet 10'dan dört kat daha yavaştır. Bu logaritmik ölçeklendirme, yöneticilerin sistemi yeniden tasarlamadan, donanım geliştikçe zaman içinde maliyeti artırmasına olanak tanır.
Çıktı formatı $version$cost$saltAndHash şeklindedir; burada saltAndHash, özel bir alfabeyle base64 ile kodlanmıştır. Sürüm genellikle $2b$ (çevreleyen hatanın düzeltildiği modern sürüm) veya $2y$ (PHP'ye özgü, eşdeğeri) şeklindedir. Tuz 16 bayttır; karma 24 bayttır; birlikte 53 adet özel base64 karakterini kodlarlar.
Maksimum giriş uzunluğu 72 bayttır (Blowfish anahtar uzunluğu sınırı). Daha uzun şifreler sessizce kesilir, bu da uzun süredir devam eden bir bcrypt tuhaflığıdır. En iyi uygulama, şifre uzunluğunu 72 baytla sınırlamak veya bcrypt'ten önce uzunluğu normalleştirmek için SHA-256 ile ön karma işlemi yapmaktır.