Md5, şifreleme algoritmalarına yardımcı olmak amacıyla kullanılabilecek bir hashing algoritmasıdır.Md5 ile oluşturulan şifreninin uzunluğu kaç olursa olsun, üretilecek md5 şifresi 128 bit(16 bayt) 'tır ve 32 karakter uzunluğunda oluşturulur.Ayrıca md5 ile üretilen şifre hiç bir zaman geri dönüştürülemez.

Nerelerde Kullanılır?
Md5 hashing yöntemini üyelerin şifrelerinde, emaillerinde yada herhangi bir verinin kriptolanmasını istediğiniz kısımlarda kullanabilirsiniz.
Örnek verecek olursak, siteye üye olacak bir kullanıcının girdiği şifre bilgisi md5 hashing algoritmasıyla şifrelenerek veritabanına kaydedilir.Login işleminde ise kullanıcının girdiği şifreyi tekrar md5 hashing algoritması ile şifreleyerek karşılaştırma yaptırılır.Böylece hem kullanıcının şifresi görünmemiş olur hem de veri güvenliği sağlanmış olur.

İlk olarak Sifreleme adında bir static sınıf oluşturalım.İçerisinde Donustur adında, string parametresi alan bir static method oluşturalım ve kodlarımızı yazalım.

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

public static class Sifreleme
{
public static string Donustur(string sifre)
{
// MD5CryptoServiceProvider sınıfının örneği oluşturduk
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
//Hash hesaplaması yaptık ve
// parametre olarak gelen veriyi byte dizisine dönüştürdük
byte[] dizi = md5.ComputeHash(Encoding.UTF8.GetBytes(sifre));
StringBuilder sb = new StringBuilder();
//Her byte'ı dizi içerisinden alarak string türüne dönüştürdük.
for (int i = 0; i < dizi.Length; i++)
{
sb.Append(dizi[i].ToString("x2"));
}

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


Ardından butonun click eventinde textbox'a girilen değeri Sifreleme sınıfındaki Donustur adlı methoda gönderip sifreleme yaptırdık.Return ile sonucu döndürüp labele yazdırdık.


private void buttonDonustur_Click(object sender, EventArgs e)
{
string sifrelenmis = Sifreleme.Donustur(textBoxSifre.Text);
labelSifre.Text = sifrelenmis;
}


Kaynak : C# Md5 İle Şifreleme Yapımı