Ana içeriğe atla

C# Programlama Dilinde MD5 Hash Algoritması VE Uygulama Örneği

MD5 C# Uygulaması, C#, md5
MD5 bilinen hash fonksiyonları arasında en eskilerden biridir. MD5 algoritmasının ilk yazıldığı senelerde ücretli olarak satılıyordu. Zamanla hash fonksiyonlarının sayısının artması ve MD5 algoritmasının güvensiz algoritma olarak değerlendirilmesinden dolayı zamanla kullanımı da çok azalmıştır. Bu yüzden hash fonksiyonlarının en çok kullanım alanlarından biri olan şifrelerin veri tabanında tutulması için tercih edilmesi çok doğru bir yaklaşım değildir. MD5 algoritması genelde metinlerin bir birine eşit olmasını test etmek için uygulamalarda kullanılabilecek algoritmalar arasında gösterilebilir. Ama çok güvenilirlik gereken durumlarda kullanılmaması tavsiye edilir. Bu makalemde şuana kadar kısaca MD5 algoritmasından bahsettim. Asıl amacım ise MD5 algoritmasını C# programlama dilinde kullanabilmek için gerekli fonksiyonu size sağlamaktır.

Aşağıdaki kodları da kısaca açıklayacak olursak şifrelenecek metni giriyoruz ve sonuç olarak bize MD5  algoritması ile şifreleyerek sonucu veriyor. Hazır metot halinde yazdım. Bu fonksiyonu alarak direk projenize ekleyebilirsiniz. Fonksiyonu kütüphane halinde yazdığım için static olarak yazdım. 


using System;
using System.Security.Cryptography;
using System.Text;

namespace Laitech.Core.Service.Common.Security
{
    public class HashFunctions
    {
        public static string HashMD5(string plaintext)
        {
            using (var mdp5provider = new MD5CryptoServiceProvider())
            {
                var hash = mdp5provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
                return BitConverter.ToString(hash).Replace("-", "");
            }
        }
    }
}

Bu arada önemli olduğu için bu konuyu da sizinle paylaşmak istiyorum. MD5 algoritmasının güvensiz olmasının 2 nedeni vardır. Bunlardan birincisi ürettiği metnin karakter uzunluğudur. MD5 algoritması ile üretilen metin 128 bit, yani 32 hexadecimal sayıdan oluştuğu için kolayca maping yapılarak tüm olasılıklar ortaya koyulmuştur. Yani hash fonksiyonlarının temel mantığı olan şifrelendikten sonra elde edilemeyen veya elde edilmesi çok zaman alan veriye dönüştürmesi çok zaman almalı iken MD5 algoritması ile şifrelenmiş bir metinin geri elde edilmesi kişisel bilgisayarlarda bile saatler alabilir. İşte bu yüzden güvensiz algoritma kategorisindedir... 
Hash Fonksiyonları için yazdığım makaleye buradan erişebilirsiniz...


C# Logo


Konu ile alakalı sorularınız 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