Haz
08
2011
C# ile string’den MD5 hash üretme
Web’de parolalar genellikle veritabanında güvenlik nedenlerinden ötürü düz metin olarak değil de geri dönüşümü olmayan bir hash algoritmasından geçirilerek tutulur ve parola karşılaştırmaları veritabanındaki ve yeni girilen metnin aynı algoritmadan geçirilerek elde edilmiş hash’i ile yapılır.
Parolaların kodlanmasında kullanılan en yaygın hash algoritması MD5 algoritmasıdır. PHP’de girilen metnin hash’ini veren direk bir metod bulunurken C#’da bu direk karşılayan bir metod bulunmamakta. Aşağıda kodunu verdiğim metod ile PHP’deki md5() metodu ile aynı şekilde girilen metnin MD5 hash’ini oluşturabilirsiniz:
public static string MD5(string text) { System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] bytes = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(text)); System.Text.StringBuilder builder = new System.Text.StringBuilder(); foreach (byte b in bytes) { builder.Append(b.ToString("x2").ToLower()); } return builder.ToString(); }



