Bcrypt üreteci

Herhangi bir dize girdisi için bir bcrypt parola karma değeri oluşturun.

2 derecelendirmenin 5'ı
Bcrypt üreteci

Bcrypt üreteci, herhangi bir metin girdisinden güvenli parola saklamaya uygun bir bcrypt parola özeti oluşturan ücretsiz bir araçtır.

Bcrypt nedir, hâlâ güvenli mi?

Bcrypt, uygun bir maliyet değeriyle yapılandırıldığında parola saklamak için hâlâ kabul edilebilir bir parola özetleme algoritmasıdır. Ancak yeni sistemlerde çoğunlukla Argon2id tercih edilir. Bcrypt, 1999 yılında Niels Provos ve David Mazières tarafından geliştirildi. Her parola tahminini özellikle maliyetli hâle getirmek için Blowfish şifreleme algoritmasının anahtar zamanlama sürecinden yararlanır.

Özetleme tek yönlüdür. Bu nedenle bir uygulama, özgün parolayı geri elde etmek yerine girilen parolayı kayıtlı parametrelerle özetleyerek doğrular. SHA-3 gibi genel amaçlı algoritmalardan farklı olarak bcrypt; sürüm, maliyet, salt ve sağlama toplamını içeren, kendi kendine yeterli ve sabit uzunlukta kodlanmış bir kayıt üretir.

Standart bir bcrypt kaydı 60 ASCII karakterden oluşur. Sağlama toplamı 184 biti temsil eder ve bcrypt'in kendine özgü Base64 tarzı kodlamasında 31 karakter olarak görünür. Bcrypt kriptografik açıdan kırılmış sayılmaz, ancak yaşından kaynaklanan bir sınırlaması vardır: Geleneksel uygulamalar en fazla 72 girdi baytı işler. Argon2id ayrıca bcrypt'te bulunmayan, bellek kullanımını zorunlu kılan bir koruma sağlar.

Şema: girdi metni Bcrypt fonksiyonundan geçerek geri döndürülemeyen sabit uzunlukta bir özet üretir

Bcrypt üreteci nasıl kullanılır?

Özetlemek istediğin metni gir, üreteci çalıştır ve Bcrypt Hash Değeri sonuç alanında gösterilen değeri kopyala. Yalnızca sondaki sağlama toplamını ayırmak yerine sonucun tamamını sakla.

  1. Büyük ve küçük harfler, boşluklar ve noktalama işaretleri dâhil olmak üzere parolayı veya test metnini olduğu gibi kullan.
  2. Bcrypt sonucunu oluştur.
  3. Baştaki sürüm işareti ve maliyet değeri dâhil 60 karakterin tamamını kopyala.
  4. Sonucu veritabanındaki parola özeti sütununa kaydet.
  5. Oturum açma sırasında yeni bir özet üretip metinleri doğrudan karşılaştırmak yerine platformunun bcrypt doğrulama işlevini kullan.
digily.link üzerindeki Bcrypt üreteci aracı ve giriş formu

Bcrypt normalde her özet için yeni ve rastgele bir salt kullanır. Bu nedenle aynı girdi iki kez özetlendiğinde iki farklı kayıt oluşabilir ve her ikisi de aynı girdiyi doğrular. Bu beklenen bir durumdur ve aynı parolaların aynı kayıtlı değerlere sahip olmasını engeller.

İşlem sunucuda gerçekleştirilir. Girdin HTTPS üzerinden sunucuya iletilir ve saklanmaz. Gerçek bir üretim parolası söz konusuysa bunu herhangi bir üçüncü taraf çevrimiçi hizmete girmenin kuruluşunun güvenlik politikasına uygun olup olmadığını değerlendir.

Bcrypt özeti çözülebilir veya tersine çevrilebilir mi?

Hayır. Bcrypt özeti şifrelenmiş veri olmadığı ve herhangi bir şifre çözme anahtarı içermediği için çözülemez. Buna yönelik pratik saldırı yöntemi, olası parolaları tahmin etmek ve her tahmini kayıtlı özetle ayrı ayrı doğrulamaktır.

Bcrypt, yapılandırılabilir maliyet değeriyle bu tahmin sürecini yavaşlatır. Ancak kısa, yaygın veya daha önce sızdırılmış bir parolayı güvenli hâle getiremez. Kararlı bir saldırgan zayıf girdileri yine de bulabilir. Salt, saldırganların önceden hesaplanmış tek bir tabloyu çok sayıda hesapta yeniden kullanmasını önler. Bununla birlikte salt gizli değildir ve saklanan kaydın içinde yer alır.

Bcrypt üreteci aracının ürettiği örnek sonuç

Bcrypt sonucu nasıl okunur?

Bir bcrypt sonucu genellikle modular crypt biçimini kullanır. Temsili yapısı $2y$12$[22-character salt][31-character checksum] şeklindedir. Bu yalnızca biçimi gösteren bir örnektir, belirtilmiş bir parolanın özeti değildir.

Bölüm Tipik uzunluk İşlev
Sürüm işareti 4 karakter $2y$ veya $2b$ gibi bir bcrypt çeşidini tanımlar.
Maliyet 3 karakter İki basamaklı maliyet değerini ve ardından gelen ayırıcıyı kaydeder.
Salt 22 karakter 128 bitlik rastgele bir salt değerini kodlar.
Sağlama toplamı 31 karakter 184 bitlik bcrypt sağlama toplamını kodlar.

Bu bölümleri bir arada tut. Tek bir karakteri değiştirmek, değeri kırpmak veya fazla kısa bir sütunda saklamak genellikle doğrulamanın başarısız olmasına neden olur. Sürüm işareti uyumlu kütüphaneler arasında farklılık gösterebilir. Bu nedenle uygulamalar, kaydı kendileri ayrıştırıp yeniden oluşturmak yerine yerleşik parola API'lerini kullanmalıdır.

Bcrypt ne zaman kullanılmalı?

Bcrypt, hâlihazırda destekleyen sistemlerde parola özetlemek için kullanılmalıdır. Özellikle mevcut bir veritabanı veya yazılımla uyumluluğun önemli olduğu durumlara uygundur. Bilerek yavaş çalışır ve salt kullanır. Bu nedenle genel amaçlı dosya sağlama toplamı veya tekilleştirme tanımlayıcısı olarak kullanıma uygun değildir.

  • Uygun kullanım alanları arasında uygulama parolaları, geçiş testleri, veritabanı alanı boyutlarının kontrolü ve bcrypt uyumlu bir geliştirme ortamının yeniden oluşturulması yer alır.
  • Bunun yerine Argon2id kullan: Platformun desteklediği ve bellek ayarlarının doğru biçimde yönetilebildiği yeni bir parola sistemi oluşturuyorsan Argon2id'i tercih et.
  • Bunun yerine SHA-3 kullan: Dosya bütünlüğü, içerik parmak izleri veya tekilleştirme için SHA-3'ü tercih et. SHA-3/384 oluşturucu ve SHA-3/512 oluşturucu, parola kaydı değil genel amaçlı özetler üretir.
  • Bcrypt kullanma: Dijital imzalar, ileti kimlik doğrulaması, şifreleme veya daha sonra geri elde edilmesi gereken verileri saklamak için bcrypt kullanma.

Boşluklar, noktalama işaretleri ve sayılar yok sayılmaz, girdi verisi olarak işlenir. Aksanlı ve Latin alfabesi dışındaki karakterler, bcrypt çalışmadan önce bayt olarak kodlanır. Bu yüzden iki sistemin de tutarlı karakter kodlaması ve Unicode normalleştirmesi kullanarak aynı baytları üretmesi gerekir. Bir Unicode karakteri birden fazla bayt kaplayabildiğinden 72 bayt sınırı burada özellikle önemlidir. Boş girdi teknik olarak özetlenebilir, ancak boş bir parola tahmin saldırılarına karşı anlamlı bir direnç sağlamaz.

Sık sorulan sorular

Bir bcrypt özeti veritabanında ne kadar yer kaplar?

Geleneksel bir bcrypt kaydı için en az 60 ASCII karakterlik alan ayır. Biraz daha geniş bir alan, ileride başka bir parola algoritmasına geçişi kolaylaştırabilir. Standart kodlanmış biçim için ikili veri sütunu kullanmak gerekmez.

Mevcut SHA parola özetlerini bcrypt'e dönüştürebilir miyim?

Özgün parolayı bilmiyorsan mevcut bir SHA özetini o parolanın bcrypt özetine dönüştüremezsin. Yaygın bir geçiş yönteminde, kullanıcı bir sonraki kez oturum açtığında eski özet doğrulanır. Ardından girilen parola bcrypt veya Argon2id ile özetlenir ve eski kaydın yerini alır.

Bir sonucu kaydetmeden önce 60 karakterlik değerin tamamının kopyalandığını, veritabanı alanının değeri kırpmadığını ve veriyi alacak uygulamanın kayıttaki sürüm işaretini desteklediğini kontrol et.

Popüler araçlar