Ana içeriğe atla

C# Programlama Dilinde HASH ALGORİTMALARI ve Kullanımı

C# Hash Algoritmaları
Hash fonksiyonları kullanım yeri olarak çoğunlukla şifrelerin veri tabanında tutulmasında, aynı zamanda büyük bir veride değişikliklerin olup olmamasında kullanılır. Hash fonksiyonları mantığı gereği veri üzerinde kullanılan algoritmaya göre işlem yapar ve bu algoritma sonucunda sabit uzunlukta sonuç üretir. Bu veriden tekrar orjinal veriyi elde etmek ideal algoritma için imkansız olmalıdır. Bu konuları daha iyi anlayabilmeniz için "Checksum Nedir? Kullanım Alanları Nelerdir?" ve "Hash Fonksiyonu Nedir? Hash Fonksiyonları ve Kullanım Alanları" makalelerine göz atmanızı tavsiye ederim. Bu makalemizde C# programlama dilindeki hash algoritmalarını inceleyeceğiz ve örneklere genel kullanım mantığını açıklayacağız.
C# programlama dilindi hash fonksiyonları System.Security.Cryptography isim uzayı altında yer alır ve bu isim uzayı altında bu dili kullananları için 6 algoritma ve bunların simetrik algoritmalarla birleştirilmiş versiyonları yer almaktadır. Bunlar MD5, RIPEMD160, SHA1, SHA256, SHA384, SHA512, HMACMD5, HMACRIPEMD160, HMACSHA1, HMACSHA256, HMACSHA384, HMACSHA512 algoritmalarıdır. Bu algoritmaların herbiri ayrı makalelerde incelenmiştir. Spesifik algoritmaların uygulaması için üzerine tıklayarak o makaleyele devam edebilirsiniz. Bu makaledeki temel amaç ise C# programlama dilinde yer alan hash algoritmalarının kullanımı ile ilgili genel bir fikir sahibi olmanızı sağlamaktır.
C# programlama dilindeki bu hash algoritmlarının hepsi kendisine gönderilen byte dizisini girdi olarak alır. Eğer algoritma simetrik algoritma ile birleştirilmişse yani algoritma önünde HMAC sözü varsa o zaman nesne üretimi sırasında algoritmaya girdi olarak yine byte array olarak şifreyi de verebilirsiniz. Bu kısa bilgilerden sonra isterseniz C# programlama dilindeki hash algoritmalarının genel kullanımına bakalım. Konunun daha iyi anlaşılması açısından makalemde bir algoritmanın hem normal halini, hem de simetrik algoritma ile birleşmiş yani HMAC olan halini inceleyeceğiz. 6 hash algoritmasından en çok kullanılanlarından biri olan olan SHA256 algoritmasını bu makalemizde inceleyeceğiz. Diğer algoritmların da ayrıca uygulamalarına yukarıdaki linklerden bakabilirsiniz. Ama önemli olan nokta odur ki diğer algoritmaların da kullanımı bizim örnekte verdiğimiz algoritmaya çok benzerdir.
                using (var sha256provider = new SHA256CryptoServiceProvider())
                {
                    chiperText = mdp5provider.ComputeHash(plainText);
                }
                using (var sha256provider = new SHA256(password))
                {
                    chiperText = mdp5provider.ComputeHash(plainText);
                }
Görüldüğü gibi buradaki girdiler byte dizisi olarak direk algoritmaya verilmiş ve sonuç alınmıştır. Algoritmaya metin olarak girilen ve bunun sonucunun tekrar işlenerek string elde edildiği kodlar için yukarıda algoritmaların sıralandığı yerde istediğiniz algoritmaya tıklayarak erişebilirsiniz. Daha önce de dediğim gibi bu makalenin temel amacı sizi C# programlama dilindeki hash algoritmaları konusunda bilgilendirmek ve genel kullanımı ile ilgili bilgi sahibi yapmaktır. Detaylı anlatımlar ve algoritma uygulamaları için yukarıdaki linkleri takip edebilirsiniz...
Ayrıca konu ile alakalı size yardımcı olabileceğini düşündüğüm için buradan Microsoft tarafından sağlanan dokümanlara da erişebilirsiniz. 

Konu ile alakalı sorularını olursa lütfen sormaktan çekinmeyin.En kısa sürede yanıtlamaya çalışacağım.

Yorumlar

Bu blogdaki popüler yayınlar

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4