
Ş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.
0 Yorum