.NET : BCrypt.net İle Güçlü Şifreleme Yöntemi

BCrypt.net, David Mazieres ve Nieles Provos tarafından yazılmış “Geleceğe uyarlanmış şifre planlaması” adlı kitapçıkta tanımlanan (Kitapçık ingilizcedir. Ulaşmak için tıklayınız.), OpenBSD’nin Blowfish-tabanlı karma şifre kodu uygulamasıdır. Bu uygulama Damien Millert tarafından geliştirilen jBCrypt direkt port olduğu için BSD-style lisansı altında yanınlamıştır. Kod tamamen yönetilebilir ve her hangi bir CLI uygulamasında çalıştırılabilir. Microsoft .NET tarafından test edilmiştir. Bu kısa giriş bilgisinden sonra neden diğer şifreleme yöntemleri varken (MD5 ve SHA-1  gibi) BCrypt kullanalım sorusunun cevabına gelelim.

Niçin BCrypt ?

MD5 ve SHA-1 gibi en bilinen şifreleme veya şifre gizleme yöntemleri hızlı karmalama (fast hashing) algoritmalarına dayanmaktadır. BCrypt ise Blowfish blok şifreleme yöntemini kullanan veya bu yöntemden faydalanan yüksek uyarlamalı bir karmaşık şema (hashing scheme) hesaplamasıdır.  Ayrıca şifre kırma girişimlerinin etkilerini ciddi bir şekilde sınırlayan ideal bir şifre saklama yöntemidir. Üstüne ne kadar ekleme yapılacabileceği ayarlanabilir, bu nedenle bir şifreyi test etmek için gerekli hesaplama kaynakları donanım kapasitesiyle birlikte artabilir veya büyüyebilir.

Kullanım

BCrypt şifreleme yöntemini kod içerisinde kullanmak oldukça basittir:


//GenerateSalt metoduna logRounds parametresini vermek şifre kontrolü için gerekli kaynak miktarını açıkça belirtmek içindir. Çalışma faktörü katlanarak artar. Şayet bir değer verilmez ise varsayılan miktar "10" dur.
string hashed = BCrypt.HashPassword(password, BCrypt.GenerateSalt(12));
// Şifre kontrolü.
bool matches = BCrypt.CheckPassword(candidate, hashed);


Kaynak koduna ulaşmak için aşağıdaki linklere tıklayabilirsiniz.

Muavenet

Web teknolojilerine merak salmış bir bilgisayar mühendisinin yazıları

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir