C# MD5 İle Şifreleme

MD5  tek yönlü bir şifreleme algoritmasıdır. Girilen verinin boyutu ne olursa olsun 128 bitlik bir veri çıkartır.

bunun için System.Security.Cryptography kutüphanesini kullanmamız gereklidir.

 

public static string MD5Sifrele(string metin)
{
     // MD5CryptoServiceProvider nesnenin yeni bir instance'sını oluşturalım.
     MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
     
     //Girilen veriyi bir byte dizisine dönüştürelim ve hash hesaplamasını yapalım.
     byte[] btr = Encoding.UTF8.GetBytes(metin);
     btr = md5.ComputeHash(btr);

     //byte'ları biriktirmek için yeni bir StringBuilder ve string oluşturalım.
     StringBuilder sb = new StringBuilder();

     //hash yapılmış her bir byte'ı dizi içinden alalım ve her birini hexadecimal string olarak formatlayalım.
     foreach (byte ba in btr)
     {
          sb.Append(ba.ToString("x2").ToLower());
     }

     //hexadecimal(onaltılık) stringi geri döndürelim.
     return sb.ToString();
}

yukarıdaki function ile şifreleme yapabiliyoruz. şifrelemek istediğimiz veriyi bu function a yolladığımızda geriye şifrelenmiş halini döner. unutmamak lazım tek yönlüdür. şifrelenen veri geri dönüştürülemez.

string sifre = MD5Sifrele("erkandursun");

Console.Write(sifre);

yaptığımız da ekrana "a103938b6563207cbf208d8bf8b042d0" yazacaktır.

 

doğru çalıştığınız test etmeniz için örnek bir kaç data :

Data MD5 ile şifrelenmiş Data
erkandursun a103938b6563207cbf208d8bf8b042d0
123123 4297f44b13955235245b2497399d7a93
şifre123!*+ 2b69d44459afddb70bb6d2036709b00e
test-+/*!'^+%5567889651test*erkandursun-com 063e2f82000f53b99c578e337aafb4f2