08 December 2016

C# MD5 Şifreleme Yapalım

MD5 bir kriptografik özettir, tek yönlü bir şifreleme algoritmasıdır. Girilen verinin boyutu ne olursa olsun sonuç olarak 128 bitlik özetler üretir.

C# da MD5 yöntemi ile nasıl metin şifrelendiğine bakalım.

using System.Security.Cryptography; aduzayını kullanacağız. Formumuza baştan ekleyelim. Metodumuz aşağıdaki şekildedir.

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();
}

Metodumuz yukarıdaki şekildedir. Kullanım örneği:

private void button1_Click(object sender, EventArgs e)
 {
 string str = MD5Sifrele(textBox1.Text);
 textBox1.Text = str;
 }

Yukarıdaki örneği kullanarak yazılımcıblog yazdığımızda bize 14899815cfbc9f547f5d2555df2fc6cc gibi şifrelenmiş bir veri verecektir.