Kategoriler
C# Programlama

Şifre Depolama(Password Storage)

Veri tabanında şifre depolarken farklı yaklaşımlar kullanılmaktadır. Bu yazımda biraz bunlara değineceğim. Hash Kullanmak Avantajları; Şifre veri tabanında depolanmaz. Şifre uzunluğu tahmin edilemez. Dezavantajları; Şifre geri dönüştürülemediği için kullanıcı şifresini unutursa yeniden şifre yaratmak gerekir. Farklı iki kullanıcı aynı şifreyi kullanırsa aynı değer üretilir. Bunu aşmak için salt kullanmak gerekir. MD5 gibi algoritmalar kullanılırsa, brute […]

Kategoriler
C# Programlama

Hash Fonksiyonları

Hash fonksiyonları değişken uzunluklu veri kümelerini, sabit uzunluklu verilere dönüştüren fonksiyonlardır. İdeal bir hash fonksiyonunda aşağıdaki özellikler bulunur: Herhangi bir mesaj için hash değerini hesaplamak kolaydır. Herhangi bir hash değerinden mesajı elde etmek imkânsızdır. Hash değeri değişmeden mesajı değiştirmek imkânsızdır. İki farklı mesajdan aynı hash değerini elde etmek imkânsızdır. Hash fonksiyonlarına gelen data sadece 1 bit […]

Kategoriler
C# Programlama

Kriptografik Rasgele Sayı Üreteçleri(Random Numbers)

Kriptografik rasgele sayı üreteçleri; kriptografik uygulamalar için rastgele sayılar üretmektedir. Örneğin kullanacağınız anahtarlar için rastgele sayı üretmeniz gerekebilir. Çoğu programlama dilinde bulunan bu üreteçler kriptografik uygulamalar için uygun değildirler. bunlar kriptanalistlerin saldırılarına direnmek için değil, sadece istatistiksel rasgelelik için tasarlanmışlardır. .NET ortamında rastgele sayı üretmek istiyorsanız System.Random nesnesini kullanmalısınız. Çoğu senaryoda işinize yarayabilir fakat söz konusu […]