MD5 hash oluşturma ne işe yarar?
MD5, herhangi uzunluktaki bir veriyi 128 bitlik, yani 32 onaltılık karakterden oluşan sabit uzunlukta bir parmak izine dönüştürür. MD5 hash oluşturma aracı yazdığın metni UTF-8 baytlarına çevirir ya da hex girdiyi doğrudan kullanır ve özeti anında gösterir. İstersen sonucu büyük harfle de alabilirsin; ayrıca girdinin kaç bayt olduğu da yazılır. İşlem tamamen tarayıcında yapılır, girdiğin metin bir sunucuya gönderilmez. MD5 hesaplama, indirdiğin bir dosyanın bozulmadığını kontrol etmek ya da bir veri için kısa bir kimlik üretmek için sık kullanılır.
Algoritma veriyi 512 bitlik bloklara böler, her bloğu dört tur boyunca bit kaydırma, toplama ve mantıksal işlemlerden geçirir. Girdideki tek bir bitlik değişiklik bile özetin tamamen farklı çıkmasına yol açar; bu özelliğe çığ etkisi denir. Aynı girdi ise her zaman aynı özeti verir; bu yüzden yazılım dağıtıcıları dosyalarının yanında MD5 değerini yayımlar ve sen indirdikten sonra kendi hesapladığın değerle karşılaştırırsın.
Örnek: “Merhaba Dünya” metni 14 bayttır, çünkü ü harfi UTF-8’de iki bayt yer kaplar. MD5 özeti 3c5cee1b19a1ca2a0ae50cb42c701a85 olarak çıkar. Bu onaltılık değerin ikili ya da ondalık karşılığını görmek istersen sayı tabanı dönüştürücüsü yardımcı olur.
Dikkat: MD5 artık güvenli kabul edilmez. Aynı özeti veren iki farklı girdi üretmek (çakışma) pratikte mümkündür. Bu yüzden parola saklamak ya da dijital imza için kullanmamalısın; bu iş için SHA-256 hash hesaplama veya parolalar için bcrypt gibi yöntemler tercih edilir. Yalnızca hata denetimi gerekiyorsa daha hızlı olan CRC32 hesaplama da yeterli olabilir. Boşluk, satır sonu ve büyük-küçük harf farkı özeti değiştirdiği için karşılaştırma yaparken girdinin birebir aynı olduğundan emin ol.