MD5, SHA-256, SHA-512: Kostenloser Hash-Generator und wann Sie welchen verwenden
Verstehen Sie den Unterschied zwischen MD5, SHA-1, SHA-256 und SHA-512. Erzeugen Sie Datei- und Text-Hashes sofort in Ihrem Browser. Erfahren Sie, wann welcher Algorithmus geeignet ist.
Jedes Mal, wenn Sie eine Software-Version herunterladen, die Echtheit einer Datei überprüfen, ein JWT-Token signieren oder das Passwort eines Benutzers speichern, arbeitet im Hintergrund eine kryptografische Hash-Funktion. Hash-Funktionen sind eine der grundlegenden Primitiven der modernen Computersicherheit — und dennoch werden die Unterschiede zwischen MD5, SHA-1, SHA-256 und SHA-512 weithin missverstanden, was zu echten Sicherheitsfehlern in produktiven Systemen führt.
Dieser Leitfaden erklärt, was Hash-Funktionen sind, wie jeder wichtige Algorithmus funktioniert, wann welcher angemessen ist (und wann er gefährlich unangemessen ist) und wie Sie den BrowseryTools Hash-Generator nutzen, um Hashes sofort und mit voller Privatsphäre in Ihrem Browser zu berechnen.
Was ist eine kryptografische Hash-Funktion?
Eine kryptografische Hash-Funktion nimmt eine Eingabe beliebiger Länge und erzeugt eine Ausgabe fester Länge, die als Digest oder Hash bezeichnet wird. Vier Eigenschaften definieren eine gute kryptografische Hash-Funktion:
- Deterministisch: Dieselbe Eingabe erzeugt stets exakt dieselbe Ausgabe. Hash-Funktionen haben keinen internen Zustand — bei denselben Bytes erhalten Sie stets denselben Digest.
- Einwegfunktion (Urbildresistenz): Aus einer Hash-Ausgabe sollte es rechnerisch undurchführbar sein, die ursprüngliche Eingabe wiederherzustellen. Hash-Funktionen sind so gestaltet, dass sie in eine Richtung leicht zu berechnen und praktisch unmöglich umzukehren sind.
- Feste Ausgabelänge: Unabhängig davon, ob die Eingabe ein Byte oder ein Gigabyte beträgt, ist die Ausgabe stets gleich lang. SHA-256 erzeugt immer einen 256-Bit-Digest (32 Byte).
- Lawineneffekt: Eine Ein-Bit-Änderung in der Eingabe verändert die Ausgabe vollständig. Der Hash von
hellosieht völlig anders aus als der Hash vonhello!— sie teilen keine vorhersagbare Struktur. Das macht Hashes als Fingerabdrücke nützlich.
Eine fünfte Eigenschaft — Kollisionsresistenz — trennt kryptografisch starke Hashes von gebrochenen: Es sollte rechnerisch undurchführbar sein, zwei verschiedene Eingaben zu finden, die dieselbe Ausgabe erzeugen. Hier sind MD5 und SHA-1 gescheitert.
MD5: schnell, allgegenwärtig und für die Sicherheit gebrochen
MD5 (Message Digest 5) wurde von Ron Rivest entworfen und 1991 veröffentlicht. Es erzeugt einen 128-Bit-Digest (16 Byte), typischerweise als 32-stellige Hexadezimal-Zeichenkette wie 5d41402abc4b2a76b9719d911017c592 dargestellt. Über ein Jahrzehnt lang war es der dominierende Hash-Algorithmus für alles, von Dateiprüfsummen bis zur Passwortspeicherung.
2004 demonstrierten Kryptografen praktische Kollisionsangriffe gegen MD5. Bis 2008 hatten Forscher Kollisionsangriffe genutzt, um ein gefälschtes Zertifikat einer von allen großen Browsern als vertrauenswürdig eingestuften Zertifizierungsstelle zu erzeugen. MD5 ist nun definitiv gebrochen für jeden Sicherheitszweck, bei dem Kollisionsresistenz von Bedeutung ist.
Wo MD5 noch akzeptabel ist:
- Nicht sicherheitsrelevante Dateiintegritätsprüfungen, bei denen Sie sowohl die Erzeugung als auch die Überprüfung kontrollieren (zur Bestätigung, dass eine Datei beim Transport nicht beschädigt wurde, nicht aber, dass sie nicht manipuliert wurde).
- Prüfsummen in internen Systemen, bei denen ein böswilliger Akteur nicht Teil des Bedrohungsmodells ist.
- Kompatibilität mit Altsystemen, bei denen Ihnen keine Wahl bleibt, als eine bestehende Implementierung nachzubilden.
- Cache-Schlüssel und Hash-Maps, bei denen Sicherheit irrelevant ist und Geschwindigkeit zählt.
Wo MD5 niemals verwendet werden darf: TLS-Zertifikate, digitale Signaturen, Code-Signierung oder alles, wobei ein Angreifer davon profitieren könnte, eine Kollision zu finden.
SHA-1: 160-Bit, veraltet, immer noch überall
SHA-1 (Secure Hash Algorithm 1) wurde 1995 von der NIST veröffentlicht und erzeugt einen 160-Bit-Digest. Es war in den 2000er-Jahren der Standard für TLS-Zertifikate, digitale Signaturen und Softwaresignierung. Googles Project Zero demonstrierte 2017 eine praktische SHA-1-Kollision (der SHAttered-Angriff) und erzeugte zwei verschiedene PDF-Dateien mit identischen SHA-1-Hashes. Das beendete die Verwendung von SHA-1 in TLS — alle großen Browserhersteller hörten noch im selben Jahr auf, SHA-1-Zertifikate zu akzeptieren.
SHA-1 findet sich noch an einigen bemerkenswerten Stellen:
- Git: Git hat historisch SHA-1 verwendet, um jedes Objekt in einem Repository zu identifizieren — Commits, Blobs, Trees und Tags. Git migriert aktiv zu SHA-256 (siehe unten), aber SHA-1-Git-Repositorys bleiben äußerst verbreitet. Für diesen Anwendungsfall ist Kollisionsresistenz weniger wichtig, weil ein Angreifer Dateisystemzugriff benötigen würde, um eine Kollision auszunutzen.
- Veraltete Authentifizierungssysteme und ältere HMAC-Implementierungen.
- Manche ältere Unternehmenssoftware, die nicht aktualisiert wurde.
Für jede neue Arbeit: Meiden Sie SHA-1. Verwenden Sie SHA-256 oder SHA-512.
SHA-256: Der aktuelle Standard
SHA-256 gehört zur SHA-2-Familie, die 2001 von der NIST veröffentlicht wurde. Es erzeugt einen 256-Bit-Digest (32 Byte) — doppelt so lang wie die Ausgabe von MD5 und 60 % größer als SHA-1. Es wurden keine praktischen Kollisions- oder Urbildangriffe gegen SHA-256 demonstriert. Es bleibt 2026 der Standard für sicherheitsrelevantes Hashing.
SHA-256 wird überall verwendet:
- TLS-Zertifikate: Das CA/Browser Forum schrieb SHA-256 als Mindeststandard für Zertifikatssignaturen vor. Jede HTTPS-Verbindung, die Sie herstellen, ist durch SHA-256 verankert.
- Code-Signierung: macOS, Windows Authenticode und Linux-Paketmanager (APT, RPM) verwenden SHA-256, um die Softwareintegrität zu überprüfen.
- JWT-Tokens: Der Algorithmus
HS256in JSON Web Tokens ist HMAC-SHA-256. Es ist mit Abstand der häufigste JWT-Signaturalgorithmus in eingesetzten Systemen. - Bitcoin: Bitcoins Proof-of-Work-Algorithmus ist doppeltes SHA-256 (SHA-256 zweimal angewendet).
- Git (nächste Generation): Gits SHA-256-Objektformat (aktiviert mit
--object-format=sha256) verwendet SHA-256 für alle Objekt-IDs. - Dateiintegritätsprüfung, die zusammen mit Software-Downloads veröffentlicht wird.
Wenn Sie eine Hash-Funktion wählen müssen und keine besonderen Einschränkungen haben, ist SHA-256 2026 die korrekte Standardwahl.
SHA-512: größere Ausgabe, manchmal schneller
SHA-512 gehört ebenfalls zur SHA-2-Familie und erzeugt einen 512-Bit-Digest (64 Byte). Es bietet einen größeren Sicherheitsspielraum als SHA-256 — 512 Bit Ausgabe bedeuten, dass der theoretische Brute-Force-Angriffsraum 2256 mal größer ist. In der Praxis ist dieser zusätzliche Spielraum für die meisten Anwendungen irrelevant, da SHA-256 bereits rechnerisch undurchführbar zu brechen ist.
Die kontraintuitive Leistungseigenschaft: SHA-512 ist auf modernen 64-Bit-CPUs beim Hashen großer Daten schneller als SHA-256. SHA-512 verarbeitet Daten in 1024-Bit-Blöcken mit 64-Bit-Wortoperationen, während SHA-256 512-Bit-Blöcke mit 32-Bit-Operationen verwendet. Auf einem 64-Bit-Prozessor bilden die 64-Bit-Operationen effizienter auf die Hardware ab. Das macht SHA-512 zur bevorzugten Wahl für Anwendungen, die große Dateien auf 64-Bit-Servern hashen.
Verwenden Sie SHA-512, wenn:
- Sie große Datenmengen auf 64-Bit-Hardware hashen und maximalen Durchsatz wünschen.
- Ihr System aus regulatorischen oder Compliance-Gründen den zusätzlichen Sicherheitsspielraum erfordert.
- Sie HMAC-SHA-512 implementieren (in manchen JWT-Implementierungen mit
HS512verwendet).
Vergleichstabelle der Algorithmen
| Algorithmus | Ausgabelänge | Geschwindigkeit (relativ) | Sicherheitsstatus | Häufige Anwendungsfälle |
|---|---|---|---|---|
| MD5 | 128-Bit (32 Hex-Zeichen) | Am schnellsten | Gebrochen — Kollisionen demonstriert | Nicht sicherheitsrelevante Prüfsummen, Cache-Schlüssel, Altsysteme |
| SHA-1 | 160-Bit (40 Hex-Zeichen) | Schnell | Veraltet — praktische Kollisionen existieren | Altes Git, altes TLS (veraltet), manche veraltete Auth |
| SHA-256 | 256-Bit (64 Hex-Zeichen) | Schnell | Sicher — aktueller Standard | TLS-Zertifikate, JWT (HS256), Code-Signierung, Bitcoin |
| SHA-512 | 512-Bit (128 Hex-Zeichen) | Am schnellsten auf 64-Bit bei großen Daten | Sicher — größerer Sicherheitsspielraum | Hashen großer Dateien, JWT (HS512), Hochsicherheitsanwendungen |
Dateiintegritätsprüfung: Ein praktisches Beispiel
Einer der häufigsten und legitimsten Einsätze kryptografischer Hashes ist die Überprüfung, dass eine heruntergeladene Datei genau das ist, was der Herausgeber beabsichtigt hat — nicht beim Transport beschädigt und nicht von einem Dritten manipuliert. Die meisten großen Softwareprojekte veröffentlichen SHA-256-Prüfsummen zusammen mit ihren Downloads.
Der Arbeitsablauf sieht so aus:
- Laden Sie die Datei von der offiziellen Quelle herunter.
- Laden Sie die veröffentlichte Prüfsumme von derselben offiziellen Quelle herunter (idealerweise mit PGP signiert).
- Berechnen Sie den SHA-256-Hash der heruntergeladenen Datei.
- Vergleichen Sie Ihren berechneten Hash Zeichen für Zeichen mit dem veröffentlichten Hash. Jeder Unterschied bedeutet, dass die Datei nicht das ist, was der Herausgeber verteilt hat.
Der BrowseryTools Hash-Generator unterstützt das Hashen von Dateien — ziehen Sie eine Datei hinein, und er berechnet den Hash lokal in Ihrem Browser, ohne etwas hochzuladen. Vergleichen Sie das Ergebnis direkt mit der veröffentlichten Prüfsumme.
Passwortspeicherung: Das eine, das Hashes nicht sicher leisten können
Kritische Warnung: Speichern Sie Passwörter niemals mit einfachen Hash-Funktionen
Passwörter als MD5-, SHA-256- oder SHA-512-Hashes zu speichern — selbst mit einem Salt — ist unsicher und eine ernsthafte Schwachstelle in jedem produktiven System. Hier ist der Grund:
- Allzweck-Hash-Funktionen sind darauf ausgelegt, schnell zu sein. Eine moderne GPU kann Milliarden von SHA-256-Hashes pro Sekunde berechnen. Wird Ihre Datenbank kompromittiert, kann ein Angreifer jedes gängige Passwort in Minuten per Brute Force knacken.
- Rainbow-Tables — vorberechnete Nachschlagetabellen, die Hashes auf Eingaben abbilden — können ungesalzene Hashes gängiger Passwörter in Millisekunden knacken.
- Selbst mit einem eindeutigen Salt pro Benutzer macht die schiere Geschwindigkeit von SHA-256 es leicht, schwache oder mittelstarke Passwörter in großem Umfang anzugreifen.
Verwenden Sie stattdessen eine Passwort-Hash-Funktion: bcrypt, scryptoder Argon2 (der Sieger des Password Hashing Competition). Diese sind absichtlich langsam und speicherintensiv, was Brute-Force-Angriffe um Größenordnungen teurer macht. Die meisten modernen Frameworks enthalten sie von Haus aus. Argon2id ist die aktuelle Empfehlung für neue Systeme.
Wie Git SHA-1 verwendet (und zu SHA-256 wechselt)
Git verwendet eine Hash-Funktion, um jedes Objekt in einem Repository zu identifizieren. Jeder Commit, jede Datei (Blob), jedes Verzeichnislisting (Tree) und jedes Tag wird in der Objektdatenbank unter seinem SHA-1-Hash gespeichert. Wenn Sie git log ausführen, sind die langen Hex-Zeichenketten, die Sie sehen — wie c206f4b3a9d72bc0e53a0e1a6e4bdf8c7f9d2e51 — SHA-1-Hashes von Commit-Objekten.
Git wählte 2005 SHA-1 wegen der Geschwindigkeit und weil SHA-1 damals nicht gebrochen war. Die Rolle von Hashes in Git unterscheidet sich leicht von der traditionellen Sicherheitsnutzung: Git verwendet sie als inhaltsadressierbare Speicherschlüssel, nicht als Authentifizierungsnachweise. Dem Inhalt selbst vertrauen Sie — der Hash ist nur eine effiziente Möglichkeit, ihn nachzuschlagen und versehentliche Beschädigung zu erkennen.
Nach der SHAttered-SHA-1-Kollision 2017 begann das Git-Projekt mit der Arbeit am Übergang zu SHA-256. Das neue Objektformat (--object-format=sha256) ist in Git 2.29+ verfügbar und wird bei einigen neuen Repository-Hosts standardmäßig verwendet. Bestehende Repositorys können migriert werden, wobei der Übergang komplex ist, weil sich jede Objekt-ID ändert.
HMAC: Hash-basierte Nachrichtenauthentifizierung
Ein einfacher Hash überprüft die Datenintegrität (die Daten haben sich nicht geändert), nicht aber die Authentizität (die Daten stammen von dem, von dem Sie es annehmen). Wenn ein Angreifer eine Nachricht abfangen und den Hash nach der Änderung neu berechnen kann, bietet ein einfacher Hash keinen Schutz.
HMAC (Hash-based Message Authentication Code) löst dies, indem es einen geheimen Schlüssel in die Hash-Berechnung einbezieht. Das Ergebnis kann nur von jemandem erzeugt werden, der den Schlüssel kennt. Die Verifizierung eines HMAC beweist sowohl, dass die Daten intakt sind, als auch, dass sie von einer Partei mit Zugriff auf das gemeinsame Secret erzeugt wurden.
HMAC-SHA256 ist überall:
- JWT-Tokens (HS256): Der Server signiert Token-Header und -Nutzlast mit HMAC-SHA256 unter Verwendung eines geheimen Schlüssels. Clients können ohne den Schlüssel keine gültigen Tokens fälschen.
- Signierung von API-Anfragen: AWS Signature Version 4 verwendet HMAC-SHA256, um API-Anfragen zu authentifizieren. Die Anfragedetails und ein abgeleiteter Signaturschlüssel werden zusammen gehasht, sodass keines davon ohne Ungültigmachen der Signatur geändert werden kann.
- Cookie-Integrität: Viele Web-Frameworks verwenden HMAC, um Session-Cookies zu signieren, was Benutzer daran hindert, ihre eigenen Sitzungsdaten zu manipulieren.
So nutzen Sie den BrowseryTools Hash-Generator
Der Hash-Generator unterstützt das Hashen sowohl von Texteingaben als auch von Datei-Uploads vollständig in Ihrem Browser. So funktioniert es:
- Text-Hashing: Fügen Sie beliebigen Text in das Eingabefeld ein. Das Tool berechnet und zeigt sofort den Hash für jeden unterstützten Algorithmus gleichzeitig an — MD5, SHA-1, SHA-256 und SHA-512 —, sodass Sie sie nebeneinander vergleichen und den benötigten auswählen können.
- Datei-Hashing: Klicken Sie auf die Dateieingabe oder ziehen Sie eine beliebige Datei per Drag-and-drop hinein. Die Datei wird von der File API Ihres Browsers gelesen und lokal gehasht. Große Dateien werden in Blöcken verarbeitet, um Speicherdruck zu vermeiden. Kein Byte Ihrer Datei verlässt Ihr Gerät.
- Algorithmus wählen: Wählen Sie den spezifischen Algorithmus aus, auf den Sie sich für Ihren Anwendungsfall konzentrieren möchten. Der vollständige Hex-Digest wird angezeigt und kann mit einem Klick kopiert werden.
- Als Datei herunterladen: Zu Dokumentations- oder Verteilungszwecken exportieren Sie den Hash-Digest als Textdatei — nützlich, um Prüfsummen zusammen mit Ihren eigenen Software-Versionen zu veröffentlichen.
Datenschutz: Die Web Crypto API
window.crypto.subtle-API (die Web Crypto API), um Hashes der SHA-Familie zu berechnen. Das ist native Kryptografie, die von der C++-Engine Ihres Browsers implementiert wird — keine JavaScript-Mathematik. Für MD5 läuft eine reine JavaScript-Implementierung lokal. In beiden Fällen werden keine Daten — kein einziges Byte Ihres Text- oder Dateiinhalts — jemals an BrowseryTools-Server oder einen Drittanbieterdienst übertragen. Die Hash-Berechnung erfolgt vollständig innerhalb Ihres Browserprozesses.Den richtigen Algorithmus wählen: Ein Entscheidungsleitfaden
- Dateiintegrität / Prüfsummen (nicht sicherheitsrelevant): MD5 oder SHA-256. SHA-256 wird für alles Öffentliche bevorzugt, selbst wenn das Bedrohungsmodell nur versehentliche Beschädigung ist, da die bewusste Verwendung eines gebrochenen Algorithmus gegenüber Auditoren schwer zu rechtfertigen ist.
- TLS, Code-Signierung, Zertifikatsoperationen: SHA-256 (verpflichtend — SHA-1 wird abgelehnt).
- JWT-Signierung: HMAC-SHA-256 (HS256) für symmetrisch oder RS256/ES256 für asymmetrisch. Niemals MD5 oder SHA-1.
- Passwortspeicherung: Argon2id, bcrypt oder scrypt. Kein SHA-irgendetwas.
- Hashen großer Dateien auf 64-Bit-Servern: SHA-512 für besten Durchsatz.
- Maximaler Sicherheitsspielraum: SHA-512 oder SHA-3 (SHA3-256, SHA3-512).
- Kompatibilität mit Altsystemen: Was auch immer das Altsystem erfordert — aber planen Sie die Migration weg von MD5 und SHA-1.
Erzeugen Sie MD5-, SHA-1-, SHA-256- und SHA-512-Hashes sofort
Fügen Sie Text ein oder ziehen Sie eine Datei hinein. Sämtliches Hashing erfolgt in Ihrem Browser mithilfe der Web Crypto API. Nichts wird hochgeladen. Nichts wird protokolliert.
Hash-Generator öffnen →Try the Tools — 100% Free, No Sign-Up
Everything runs in your browser. No uploads. No accounts. No ads.
Explore All Tools →