
C# ta md5 hesaplamak için ilk önce System.Security.Cryptography isim uzayını çağırıyoruz.
Şimdi fonksiyonumuzu yazalım:
public static string md5(string gelenveri)
{
if (string.IsNullOrEmpty(gelenveri)) return null;
byte[] ByteData = Encoding.ASCII.GetBytes(gelenveri);
MD5 AlpayMd5 = MD5.Create();
byte[] HashData = AlpayMd5.ComputeHash(ByteData);
StringBuilder Cryptograph = new StringBuilder();
for (int x = 0; x < HashData.Length; x++)
{
Cryptograph.Append(HashData[x].ToString("x2"));
}
return Cryptograph.ToString();
}
string tipli md5 fonksiyonuna gelenveri isimli string tipli bir parametre belirttik, if (string.IsNullOrEmpty(gelenveri)) return null; burada gelenveri değişkeni boş gelirse boş bir değer döndürmesini istedik.
byte[] ByteData = Encoding.ASCII.GetBytes(gelenveri);
MD5 AlpayMd5 = MD5.Create();
byte[] HashData = AlpayMd5.ComputeHash(ByteData);
Burada gelenveri isimli parametreyi ByteData isimli byte tipine dönüştürdük, AlpayMd5 isminde bir md5 nesnesi tanımlayıp HashData isimli ByteData nesnesinin hashını hesaplayan komutlarımızı yazdık.
StringBuilder Cryptograph = new StringBuilder();Byteları biriktirmek için Cryptograph isimli StringBuilder nesnesi oluşturduk.
for (int x = 0; x < HashData.Length; x++)
{
Cryptograph.Append(HashData[x].ToString("x2"));
}Burada ise döngü tanımladık, x değeri 0 dan başlıyor ve HashData isimli hash nesnesinin uzunluğu kadar döngü devam ediyor, döngü içerisinde ise Cryptograph isimli StringBuilder nesnesine Hexadecimal yani 16lık sistemle formatlıyoruz.
En sonda ise return Cryptograph.ToString(); ile değerimizi dışarıya string tipine dönüştürerek aktarıyoruz.
md5("Cryptograph");
Ekrana a162a5e1f09317397d0c40843b217f3b çıktısını verir.