MD5 Hash
Kostenloses Online-MD5-Hash-Tool. Text/Datei/Batch/HMAC-MD5-Modi, UTF-8/Latin1, Großbuchstaben, 8-Zeichen-Gruppierung. ⚠️ MD5 ist gebrochen — verwenden Sie es NICHT für Passwortspeicher.
Kostenloses Online-MD5-Hash-Tool. Text/Datei/Batch/HMAC-MD5-Modi, UTF-8/Latin1, Großbuchstaben, 8-Zeichen-Gruppierung. ⚠️ MD5 ist gebrochen — verwenden Sie es NICHT für Passwortspeicher.
MD5 wird häufig für Dateiintegritätsprüfungen (z. B. Überprüfung von Downloads), schnelle Digest-Generierung, Legacy-Systemkompatibilität, Cache-Schlüssel und Datendeduplizierung in nicht sicherheitsrelevanten Szenarien verwendet. MD5 erzeugt 128 Bit (32 Hex-Zeichen) und ist sehr schnell, geeignet für Prüfszenarien mit geringen Sicherheitsanforderungen.
MD5 erzeugt 128 Bit (32 Hex), ist sehr schnell aber gebrochen; SHA-256 erzeugt 256 Bit (64 Hex), ist langsamer aber hat keine praktischen Kollisionsangriffe und wird für sicherheitskritische Anwendungen bevorzugt.
SHA-256-ToolMD5 ist extrem schnell — moderne GPUs können Milliarden von Hashes pro Sekunde berechnen, und Rainbow Tables machen kurzen Prozess mit gängigen Passwörtern. Verwenden Sie für Passwortspeicher bcrypt, scrypt oder Argon2.
Passwort-GeneratorAbsolut NICHT für Sicherheit (digitale Signaturen, Passwörter, TLS). Aber für nicht sicherheitsrelevante Anwendungen (Dateibeschädigungsprüfungen, Deduplizierung, Cache-Schlüssel) ist MD5 weiterhin in Ordnung, da Angreifer keinen Anreiz haben, Kollisionen zu erzeugen.
MD5 ist Einwegfunktion und kann mathematisch nicht umgekehrt werden, aber Rainbow Tables und Brute-Force können schwache Passwörter in Sekunden wiederherstellen. Aus diesem Grund darf MD5 niemals für Passwortspeicher verwendet werden.
Nein. Das Tool verwendet chunked inkrementelles Lesen — Dateien werden nicht vollständig in den Speicher geladen, sodass auch mehrere GB große Dateien reibungslos mit einer reaktionsschnellen Benutzeroberfläche verarbeitet werden.
HMAC-MD5 ist ein Hash mit Schlüssel, der einen geheimen Schlüssel erfordert. Obwohl einfaches MD5 gebrochen ist, bleibt HMAC-MD5 sicher, wenn der Schlüssel unbekannt ist (obwohl Migration zu HMAC-SHA256 empfohlen wird).
HMAC-GeneratorMD5 (Message-Digest Algorithm 5) ist eine 128-Bit-Hash-Funktion, die 1991 von Ronald Rivest entworfen wurde (RFC 1321) und einen festen 32-stelligen hexadezimalen Digest aus beliebigen Eingaben erzeugt. Weit verbreitet für digitale Signaturen, Zertifikatsüberprüfung und Passwortspeicher, wurde MD5 2004 durch den Kollisionsangriff von Wang et al. gebrochen, und Flame-Malware nutzte 2008 MD5-Kollisionen, um ein vertrauenswürdiges CA-Zertifikat zu fälschen.
**Sicherheitsstatus**: NIST hat MD5 für digitale Signaturen in SP 800-131A (2011) offiziell deprecated. MD5 bleibt jedoch nützlich für nicht sicherheitsrelevante Szenarien: Dateiintegritätsprüfungen gegen versehentliche Beschädigung, Datendeduplizierung und Cache-Schlüssel. Die Schlüsselfrage: Würde ein Angreifer von der Erzeugung einer Kollision profitieren? Wenn nicht, ist MD5s Geschwindigkeit ein Vorteil.
**Verwenden Sie niemals MD5 für Passwortspeicher**: MD5 ist extrem schnell (Milliarden von Hashes/Sekunde auf GPU), was sofortige Brute-Force-Angriffe auf gängige Passwörter ermöglicht. Passwortspeicher MUSS bcrypt, scrypt oder Argon2 verwenden — langsame Hashes mit konfigurierbaren Kostenfaktoren, die Brute-Force unmöglich machen.
**HMAC-MD5 ist weiterhin sicher**: Obwohl einfaches MD5 gebrochen ist, bleibt HMAC-MD5 (Keyed-Hash Message Authentication Code) sicher, wenn der Schlüssel unbekannt ist, da die HMAC-Konstruktion nicht direkt von der Kollisionsresistenz des Hashes abhängt. Migration zu HMAC-SHA256 wird dennoch empfohlen.
Das Tool verwendet eine reine JavaScript-MD5-Implementierung (Web Crypto API unterstützt MD5 nicht mehr). Alle Berechnungen finden lokal in Ihrem Browser statt — Dateien verwenden chunked inkrementelles Lesen und werden niemals auf Server hochgeladen.
| Algorithmus | Ausgabebits | Hex-Länge | Sicherheit | Geschwindigkeit | Empfohlene Verwendung |
|---|---|---|---|---|---|
MD5 | 128 Bit | 32 Zeichen | ❌ Gebrochen (Kollisionen/Urbild) | Extrem | Dateiprüfsummen, Deduplizierung, Cache-Schlüssel |
SHA-1 | 160 Bit | 40 Zeichen | ❌ Kollisionen (2017) | Schnell | Git, Legacy-Kompatibilität |
SHA-256 | 256 Bit | 64 Zeichen | ✅ Sicher | Mittel | Digitale Signaturen, Zertifikate, Blockchain |
SHA-512 | 512 Bit | 128 Zeichen | ✅ Sicher | Schnell (64-Bit) | Hochsicherheitsszenarien, Schlüsselableitung |
bcrypt | - | 60 Zeichen | ✅ Passwort-spezialisiert | Langsam (konfigurierbar) | Passwortspeicherung |
| Jahr | Ereignis | Auswirkung |
|---|---|---|
1991 | Ron Rivest entwirft MD5 (RFC 1321) | Ersetzt MD4 und wird zum Mainstream-Hash-Algorithmus |
1996 | Erste Pseudokollisionslücke in MD5 entdeckt | Wissenschaftsgemeinde äußert Bedenken |
2004 | Wang et al. demonstrieren MD5-Kollisionsangriff | MD5 digitale Signaturen vollständig gebrochen |
2008 | Flame-Malware fälscht CA-Zertifikat via MD5-Kollision | NIST deprecisiert MD5 offiziell für Signaturen |
2011 | NIST SP 800-131A verbietet MD5 für Sicherheitszwecke | US-Regierungssysteme stellen MD5 schrittweise ein |
2024 | Neuer Urbildangriff veröffentlicht | MD5 letzte Verteidigungslinie durchbrochen |
// 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); // b10a8db164e0754105b7a99be72e3fe5import 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)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")