MD5 Özeti
Ücretsiz çevrimiçi MD5 özet aracı. Metin/dosya/toplu/HMAC-MD5 modları, UTF-8/Latin1, büyük harf, 8 karakter gruplama. ⚠️ MD5 tehlikede — parola depolama için KULLANMAYIN.
İlgili Öneriler
MD5 Nedir?
MD5 (Message-Digest Algorithm 5), Ronald Rivest tarafından 1991'de (RFC 1321) tasarlanan, rastgele girdiden sabit 32 karakterlik onaltılık bir özet üreten 128 bitlik bir özet fonksiyonudur. Bir zamanlar dijital imzalar, sertifika doğrulama ve parola depolama için yaygın olarak kullanılan MD5, 2004'te Wang vd.'nin çakışma saldırısıyla tehlikeye girdi ve Flame kötü amaçlı yazılımı 2008'de güvenilir bir CA sertifikasını taklit etmek için MD5 çakışmalarını kötüye kullandı.
**Güvenlik Durumu**: NIST, MD5'i SP 800-131A'da (2011) dijital imzalar için resmen reddetti. Ancak MD5, güvenlik dışı senaryolarda faydalı olmaya devam ediyor: rastgele bozulmaya karşı dosya bütünlüğü kontrolü, veri tekilleştirme ve önbellek anahtarları. Ana soru: bir saldırgan çakışma oluşturmaktan fayda sağlar mı? Sağlamazsa, MD5'in hızı bir avantajdır.
**Parola depolama için MD5'i ASLA kullanmayın**: MD5 aşırı hızlıdır (GPU'da saniyede milyarlarca özet), bu da yaygın parolaların kaba kuvvetle anında kırılmasını sağlar. Parola depolama bcrypt, scrypt veya Argon2 kullanmalıdır — kaba kuvveti uygulanamaz kılan, ayarlanabilir maliyet faktörlerine sahip yavaş özetler.
**HMAC-MD5 hala güvenlidir**: düz MD5 tehlikede olsa da, HMAC-MD5 (anahtarlı Hash tabanlı Mesaj Kimlik Doğrulama Kodu) anahtar bilinmediğinde güvenli kalır, çünkü HMAC yapısı temel özetin çakışma direncine doğrudan bağlı değildir. Yine de HMAC-SHA256'ya geçiş önerilir.
Araç saf JavaScript MD5 uygulaması kullanır (Web Crypto API artık MD5'i desteklemiyor). Tüm hesaplamalar tarayıcınızda yerel olarak yapılır — dosyalar parçalı artımlı okuma kullanır ve asla sunuculara yüklenmez.
Kullanım senaryoları
- Dosya bütünlüğü: indirdikten sonra resmi sağlama toplamlarıyla karşılaştırmak için MD5 hesaplayın
- Yapılandırma dosyaları veya sürüm notları için toplu özet oluşturma
- Eski sistem entegrasyonu için HMAC-MD5 imzalama
- Hızlı MD5 karşılaştırması yoluyla veri tekilleştirme
- Kısa benzersiz tanımlayıcılar olarak önbellek anahtarı oluşturma
- Eğitim: MD5/SHA-1/SHA-256 çıktılarını karşılaştırarak özet algoritmalarını anlama
Nasıl Kullanılır
- Mod seçin: Metin, Dosya, Toplu İşlem veya HMAC-MD5
- Seçenekleri yapılandırın: kodlama, büyük harf, 8 karakter gruplama
- Metin girin, dosya yükleyin veya toplu içerik yapıştırın
- Doğrulama veya betikler için özet sonucunu kopyalayın
Özellikler
- Dört mod: Metin, Dosya, Satır başına Toplu İşlem ve HMAC-MD5, yaygın sağlama toplamı senaryolarını kapsar
- Farklı sistem girdileri için seçilebilir UTF-8/Latin1 kodlama
- Okunabilirlik için büyük harf görünümü ve 8 karakter gruplama
- Dosya parçalı özetleme: büyük dosyalar için artımlı okuma bellek sorunlarını önler
- Toplu mod: her satır orijinal→özet çıktısıyla bağımsız olarak özetlenir
- Tek tıkla sonuç kopyalama
Kod Örnekleri
MD5/Hashing in JavaScript (Web Crypto supports SHA, MD5 needs library)
// Note: Web Crypto API does NOT support MD5 (deprecated)
// Use SHA-256 instead for new projects
async function sha256(message) {
const msgBuffer = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2,'0')).join('');
}
sha256('Hello World').then(console.log);
// MD5 in Node.js using crypto module
const crypto = require('crypto');
const md5 = crypto.createHash('md5').update('Hello World').digest('hex');
console.log(md5); // b10a8db164e0754105b7a99be72e3fe5MD5 Hashing in Python
import hashlib
text = 'Hello World'
md5_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
print(md5_hash) # b10a8db164e0754105b7a99be72e3fe5
# File MD5 (chunked for large files)
def md5_file(filepath, chunk_size=8192):
md5 = hashlib.md5()
with open(filepath, 'rb') as f:
while chunk := f.read(chunk_size):
md5.update(chunk)
return md5.hexdigest()
# HMAC-MD5
import hmac
hmac_md5 = hmac.new(b'secret-key', b'Hello World', hashlib.md5).hexdigest()
print(hmac_md5)MD5 Hashing in Java
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
public class MD5Example {
public static String md5(String input) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (byte b : hash) sb.append(String.format("%02x", b));
return sb.toString();
}
public static void main(String[] args) throws Exception {
System.out.println(md5("Hello World"));
// b10a8db164e0754105b7a99be72e3fe5
}
}
// Note: Use SHA-256 for new code: MessageDigest.getInstance("SHA-256")Sık Sorulan Sorular
MD5 genellikle ne için kullanılır?
MD5 genellikle dosya bütünlüğü kontrolü (ör. indirme doğrulaması), hızlı özet oluşturma, eski sistem uyumluluğu, önbellek anahtarları ve güvenlik dışı senaryolarda veri tekilleştirme için kullanılır. MD5 128 bit (32 onaltılık karakter) üretir ve aşırı hızlıdır, kritik olmayan doğrulama senaryoları için uygundur.
MD5 vs SHA-256?
MD5 128 bit (32 hex) üretir, aşırı hızlıdır ancak tehlikededir; SHA-256 256 bit (64 hex) üretir, daha yavaştır ancak pratik çakışma saldırıları yoktur ve kritik uygulamalar için tercih edilir.
SHA-256 AracıMD5 parolalar için neden güvensizdir?
MD5 aşırı hızlıdır — modern GPU'lar saniyede milyarlarca özet hesaplayabilir ve gökkuşağı tabloları yaygın parolaları anında kırar. Parola depolama için bcrypt, scrypt veya Argon2 kullanın.
Parola ÜreticiMD5 tehlikede — hala kullanabilir miyim?
Güvenlik için kesinlikle HAYIR (dijital imzalar, parolalar, TLS). Ancak güvenlik dışı uygulamalar için (dosya bozulması kontrolü, tekilleştirme, önbellek anahtarları) MD5 hala uygundur, çünkü saldırganların çakışma oluşturma teşviki yoktur.
MD5 özetleri 'şifresi çözülebilir' mi?
MD5 tek yönlü bir fonksiyondur ve matematiksel olarak tersine çevrilemez, ancak gökkuşağı tabloları ve kaba kuvvet zayıf parolaları saniyeler içinde kurtarabilir. Bu nedenle MD5 asla parola depolama için kullanılmamalıdır.
Büyük dosyalar donmaya neden olur mu?
Hayır. Araç parçalı artımlı okuma kullanır — dosyalar tamamen belleğe yüklenmez, bu nedenle çok gigabaytlık dosyalar bile duyarlı bir arayüzle düzgün işlenir.
Düz MD5'e kıyasla HMAC-MD5 nedir?
HMAC-MD5, gizli bir anahtar gerektiren anahtarlı bir özettir. Düz MD5 tehlikede olsa da, HMAC-MD5 anahtar bilinmediğinde güvenli kalır (ancak HMAC-SHA256'ya geçiş önerilir).
HMAC ÜreticiSözlük
- Özet Fonksiyonu (Hash Function)
- Rastgele uzunluktaki girdiyi sabit uzunluktaki çıktıya eşleyen matematiksel bir fonksiyondur. İyi özet fonksiyonları tek yönlülük, çakışma direnci ve çığ etkisi sağlar.
- Çakışma Saldırısı (Collision Attack)
- Aynı özet çıktısını üreten iki farklı girdi bulma. MD5 çakışmaları 2004'te Wang vd. tarafından gösterilmiş, dijital imza sahteciliğine olanak tanımıştır.
- Öngörüntü Saldırısı (Preimage Attack)
- Belirli bir özet çıktısını üreten bir girdi bulma. Çakışmalardan daha zordur ancak 2024'teki yeni araştırma MD5'in öngörüntü direncini önemli ölçüde zayıflattı.
- Gökkuşağı Tablosu (Rainbow Table)
- Zayıf parola özetlerini hızla kırmak için önceden hesaplanmış özet→düz metin arama tabloları. Tuzlama gökkuşağı tablolarını yener.
- HMAC (Hash-based Message Authentication Code)
- Mesaj bütünlüğü/kimlik doğrulaması için gizli bir anahtar kullanan özet tabanlı bir mesaj kimlik doğrulama kodudur. HMAC-MD5 ve HMAC-SHA256 yaygın varyantlardır.HMAC Üretici
- bcrypt
- Yerleşik tuzlama ve ayarlanabilir maliyet faktörü ile kaba kuvvet saldırılarını fahiş maliyetli hale getiren yavaş bir parola özetleme algoritması.
- Sağlama Toplamı (Checksum)
- Veri bütünlüğünü doğrulamak için kullanılan küçük sabit bir değer. MD5, SHA-1, SHA-256, iletim sırasındaki bozulmayı algılamak için yaygın olarak sağlama toplamı olarak kullanılır.
- Çığ Etkisi (Avalanche Effect)
- Girdideki küçük bir değişiklik (1 bit bile) özet çıktısında şiddetli ve öngörülemeyen bir değişikliğe neden olur. MD5 hala iyi çığ özelliklerine sahiptir ve güvenlik dışı kontrollerde kalan kullanımına katkıda bulunur.
- RFC 1321
- 1992'de Ronald Rivest tarafından IETF'ye sunulan, algoritma adımlarını ve test vektörlerini açıklayan resmi MD5 standardı.
- Parçalı Özetleme (Chunked Hashing)
- Büyük dosyaları tüm dosyayı belleğe yüklemek yerine bloklar halinde işleme, özet durumunu artımlı olarak güncelleme.
Yaygın Özet Algoritmalarının Karşılaştırması
| Algoritma | Çıktı Bitleri | Hex Uzunluğu | Güvenlik | Hız | Önerilen Kullanım |
|---|---|---|---|---|---|
MD5 | 128 bit | 32 karakter | ❌ Tehlikede (çakışmalar/öngörüntü) | Aşırı hızlı | Dosya sağlama toplamları, tekilleştirme, önbellek anahtarları |
SHA-1 | 160 bit | 40 karakter | ❌ Çakışmalar (2017) | Hızlı | Git, eski sistem uyumluluğu |
SHA-256 | 256 bit | 64 karakter | ✅ Güvenli | Orta | Dijital imzalar, sertifikalar, blok zinciri |
SHA-512 | 512 bit | 128 karakter | ✅ Güvenli | Hızlı (64-bit) | Yüksek güvenlik senaryoları, anahtar türetme |
bcrypt | - | 60 karakter | ✅ Parola özelinde | Yavaş (ayarlanabilir) | Parola depolama |
MD5 Güvenlik Olayları Zaman Çizelgesi
| Yıl | Olay | Etki |
|---|---|---|
1991 | Ron Rivest MD5'i tasarlar (RFC 1321) | MD4'ün yerine geçer ve standart özet algoritması olur |
1996 | MD5'te ilk sahte çakışma kusuru keşfedildi | Akademik topluluk endişelerini dile getirir |
2004 | Wang Xiaoyun'un ekibi MD5 çakışma saldırısını gösterir | MD5 dijital imza güvenliği tamamen kırıldı |
2008 | Flame kötü amaçlı yazılımı MD5 çakışması yoluyla CA sertifikası sahteciliği yapar | NIST, MD5'i dijital imzalar için resmen reddeder |
2011 | NIST SP 800-131A, MD5'i güvenlik amaçları için resmen yasaklar | ABD hükümet sistemleri MD5'i aşamalı olarak kaldırır |
2024 | Yeni öngörüntü saldırısı makalesi yayınlandı | MD5'in son savunma hattı (öngörüntü direnci) kırıldı |
Authoritative References
- Güvenli Dize Karşılaştırma
- Binary Dönüştürme
- Sezar Şifresi
- Mors Kodu
- Hex Dönüştürme
- Videoyu Base64'e Çevir
- Base64'ten videoya
- Resmi Base64’e Dönüştür
- Base64'ten Resme
- Metin Base64'e Dönüştürme
- Base64 Metne Dönüştür
- Dosya Hash Doğrulayıcı
- Dosyayı Base64'e Dönüştür
- Base64 Dosyaya Dönüştür
- Ses → Base64
- Base64'ten Ses
- AES şifreleme ve çözme
- DES Şifreleme ve Şifre Çözme
- Base32 Kodlayıcı Çözücü
- Base58 kodlama ve kod çözme
- Base64 Kodlama
- Base64 Kod Çözme
- Base64 Karşılaştırma
- Base64 Bölme
- Base64 çok satırlı birleştirme
- Base64 Biçimlendirme
- Base64 Format Kontrolü
- Toplu Base64 Kodlama
- Base64 Toplu Kod Çözme
- Base64 Temizleme
- Base64 Padding İşleme
- Base64 Uzunluk İstatistikleri
- Base64 Onaltılığa Dönüştür
- Base64 DataURL Dönüştürücü
- Base64-Hex Dönüştürücü
- Base85 Kodlayıcı ve Kod Çözücü
- HMAC Oluşturucu ve Doğrulayıcı
- PBKDF2 Anahtar Türetme
- MD5 Özeti
- SHA-256 Özeti
- SHA1 Özeti
- SHA512 Özeti
- JWT Aracı
- HTML Encode/Decode
- Unicode Escape
- URL Kodlama
- URL Safe Base64
- MIME Base64
- Java Obfuscation
- JS Obfuscation
- PHP Obfuscation
- Python Obfuscation