MD5 nedir?
MD5 (Message-Digest 5), 1991'de Ronald Rivest tarafından tasarlanan 128 bitlik bir özet (hash) fonksiyonudur. Herhangi bir uzunluktaki girdiyi 32 hex karakterlik sabit bir çıktıya eşler. Hız ve sadelik açısından hâlâ kullanılır; ancak kriptografik güvenlik açısından 2004'ten beri kırık kabul edilir.
Kullanılan formül
Formülü göster
MD5(M) = RFC 1321 sözde-kodu
1. Mesaj UTF-8 baytlarına çevrilir.
2. Sona 0x80 eklenir; uzunluk ≡ 56 (mod 64) olana kadar
sıfır baytı eklenir.
3. Orijinal bit-uzunluğu 64 bit küçük-endian olarak yazılır.
4. Durum: A=0x67452301, B=0xefcdab89,
C=0x98badcfe, D=0x10325476.
5. Her 512 bitlik blok için 64 turdan oluşan döngü uygulanır
(F, G, H, I doğrusal-olmayan fonksiyonları + sin temelli
sabitler K[i] + döngüsel kaydırma S[i]).
6. Final A‖B‖C‖D, 16 bayt küçük-endian olarak yazılır → 32 hex.
Bu hesaplayıcı tüm adımları tarayıcınızda yürütür — metin
sunucuya hiçbir zaman gönderilmez.Sıkça sorulan sorular
- MD5'in 'kırık' olması ne demek?
- 2004'te Wang ve ekibi MD5 için pratik çakışma (collision) saldırısı yayımladı. Bugün iki farklı dosya için aynı MD5 üretmek bir saatten az sürebilir. Bu yüzden imza, sertifika veya parola depolaması için kullanılmamalıdır.
- Hangi alanlarda hâlâ kabul edilebilir?
- Tek tek dosyaların yanlışlıkla bozulmadığını kontrol etmek (CRC alternatifi), önbellek anahtarı üretmek veya çakışmanın önemli olmadığı yerel parmak izleri için kullanılabilir. Güvenlik gerektiren her durumda SHA-256 veya BLAKE3 tercih edilmelidir.
- Aynı metni iki farklı yerde MD5'lersem aynı hash'i alır mıyım?
- Evet — fakat girdinin baytları aynı olmalıdır. Türkçe karakterlerde UTF-8 ile Latin-9 farklı bayt dizileri verir; aynı 'ş' harfi farklı kodlamalarda farklı MD5 üretir. Bu hesaplayıcı UTF-8 kullanır.
- Boş metnin MD5'i var mı?
- Vardır: d41d8cd98f00b204e9800998ecf8427e. Boş girdi de tanımlı bir blok dolgusuna sahiptir; bu hesaplayıcı boş girişi koruma amacıyla durdurur, yine de çıktıyı görmek isterseniz tek karakter ekleyip silebilirsiniz.