Über den Hash-Generator
Dieser kostenlose Hash-Generator berechnet die MD5-, SHA-1-, SHA-256-, SHA-384- und SHA-512-Hashes eines beliebigen Textes, alle auf einmal und live während der Eingabe.
Die Hashes werden in Ihrem Browser mit der Web Crypto API berechnet — Ihr Text wird niemals hochgeladen.
Was ein Hash ist
Eine Hash-Funktion nimmt eine Eingabe beliebiger Länge entgegen und erzeugt daraus einen Fingerabdruck fester Länge. Geben Sie ihr ein einzelnes Zeichen oder ein ganzes Buch; SHA-256 liefert in beiden Fällen 64 hexadezimale Zeichen.
Drei Eigenschaften machen sie nützlich:
Deterministisch. Dieselbe Eingabe ergibt immer denselben Hash. Immer, auf jedem Rechner, für alle Zeit.
Lawineneffekt. Ändern Sie ein einziges Bit der Eingabe, und ungefähr die Hälfte der Ausgabebits kippt. hello und hellp erzeugen Hashes ohne jede erkennbare Ähnlichkeit. Es gibt kein „fast" — ein Hash stimmt entweder genau überein oder sagt Ihnen gar nichts.
Einwegfunktion. Sie können von einem Hash nicht auf die Eingabe zurückrechnen. Die Funktion verwirft Information absichtlich, und es gibt keine Umkehrung.
Diese letzte Eigenschaft ist der eigentliche Punkt, und sie ist der Grund, warum ein Hash keine Verschlüsselung ist.
Hashing ist keine Verschlüsselung
Verschlüsselung ist zweiseitig: Mit dem Schlüssel erhalten Sie das Original zurück. Genau das ist ihr Zweck.
Hashing ist von Natur aus einseitig. Es gibt keinen Schlüssel und keinen Weg zurück. Ein 500-seitiges Dokument und ein einzelner Buchstabe werden beide zu 64 Zeichen — der größte Teil der Information ist schlicht verloren.
Die Frage, die ein Hash beantwortet, lautet daher nie „was war das?", sondern „ist dies dasselbe wie jenes?". Vergleichen Sie zwei Hashes: identisch bedeutet, die Eingaben waren identisch; unterschiedlich bedeutet, sie waren es nicht.
Daraus folgt ein verbreitetes Missverständnis. Einen MD5-Hash zu „entschlüsseln" gibt es nicht. Was Nachschlage-Websites tatsächlich tun, ist, Milliarden gängiger Eingaben im Voraus zu hashen und zu prüfen, ob Ihre in der Tabelle steht. Sie kehren die Funktion nicht um; sie erkennen einen Wert wieder, den sie schon gesehen haben. Alles Ungewöhnliche steht nicht in der Tabelle.
MD5 und SHA-1 sind gebrochen — was das bedeutet
Beide kommen noch überall vor, und beide sind für Sicherheitszwecke unsicher. Es lohnt sich zu wissen, in welcher Weise genau.
Eine Kollision sind zwei verschiedene Eingaben, die denselben Hash erzeugen. Das sollte praktisch unmöglich sein. Für MD5 ist es inzwischen trivial — Kollisionen lassen sich auf einem gewöhnlichen Rechner in Sekunden erzeugen. SHA-1 fiel 2017, als Google zwei verschiedene PDFs mit demselben SHA-1-Hash vorführte, und der Angriff ist seither nur billiger geworden.
Warum das wichtig ist: Wenn jemand zwei Dateien mit übereinstimmenden Hashes bauen kann, beweist ein Hash nicht mehr, dass eine Datei die erwartete ist. Ein signiertes Dokument könnte gegen ein anderes Dokument mit demselben Fingerabdruck ausgetauscht werden.
Wo MD5 weiterhin in Ordnung ist: beim Erkennen versehentlicher Beschädigung. Wenn Sie wissen wollen, ob ein Download unversehrt angekommen ist oder ob zwei Dateien auf Ihrer Festplatte Duplikate sind, funktioniert MD5 und ist schnell. Zufällige Beschädigung erzeugt keine Kollision.
Wo es nicht in Ordnung ist: überall dort, wo jemand versuchen könnte, Sie zu täuschen — beim Prüfen der Echtheit eines Downloads, beim Signieren oder beim Speichern von Passwörtern.
Verwenden Sie SHA-256 für alles, worauf es ankommt. Es hat keinen bekannten praktikablen Kollisionsangriff, es ist schnell und es ist der Standard in modernen Systemen. SHA-512 ist für die meisten Zwecke nicht nennenswert sicherer, kann auf 64-Bit-Hardware aber schneller sein.
Speichern Sie Passwörter niemals mit einem einfachen Hash
Dies ist der folgenschwerste Missbrauch von Hash-Funktionen, und er verursacht echte Datenlecks.
Ein Passwort mit SHA-256 zu hashen und das Ergebnis zu speichern, genügt nicht. Das Problem sind schnelle Hashes: SHA-256 ist auf Tempo ausgelegt, und moderne Hardware berechnet Milliarden pro Sekunde. Ein Angreifer, der Ihre Datenbank stiehlt, probiert einfach jedes wahrscheinliche Passwort durch, bis die Hashes übereinstimmen.
Zwei weitere Probleme verschärfen das. Identische Passwörter ergeben identische Hashes, sodass ein Angreifer sofort sieht, welche Konten dasselbe Passwort teilen. Und vorberechnete Tabellen bedeuten, dass gängige Passwörter ganz ohne Aufwand erkannt werden.
Der richtige Ansatz verwendet eine Passwort-Hash-Funktion, die absichtlich langsam und speicherhungrig ist: bcrypt, scrypt oder Argon2. Sie fügen pro Passwort ein eindeutiges zufälliges Salt hinzu, sodass identische Passwörter unterschiedlich gehasht werden, und sie sind bewusst teuer — so eingestellt, dass eine einzelne Prüfung einen spürbaren Bruchteil einer Sekunde dauert, was Milliarden von Rateversuchen undurchführbar macht.
Verwenden Sie eine geeignete Bibliothek. Passwortspeicherung ist nichts, was man aus Hash-Primitiven selbst zusammenbaut.
Wofür Hashes tatsächlich gut sind
- Downloads prüfen — die veröffentlichte Prüfsumme mit der erhaltenen Datei vergleichen
- Doppelte Dateien finden — identische Hashes bedeuten identische Inhalte
- Änderungserkennung — wurde diese Datei, dieser Datensatz oder diese Konfiguration verändert?
- Inhaltsadressierung — Git benennt jeden Commit und jedes Objekt nach seinem Hash
- Datenintegrität — bestätigen, dass eine Übertragung oder ein Backup unbeschädigt angekommen ist
- Cache-Schlüssel — eine kurze, stabile Kennung, abgeleitet aus längerem Inhalt
- Digitale Signaturen — das Dokument wird gehasht, dann wird der Hash signiert
So verwenden Sie es
- Tippen oder fügen Sie Ihren Text ein
- Die Hashes aktualisieren sich live für jeden Algorithmus
- Kopieren Sie jeden Hash mit seiner Kopieren-Schaltfläche
Gut zu wissen
- Die Ausgabelänge ist fest. MD5 liefert 32 Hex-Zeichen, SHA-1 liefert 40, SHA-256 liefert 64, SHA-512 liefert 128 — unabhängig von der Eingabegröße.
- Alles zählt. Ein Leerzeichen am Ende, ein Zeilenumbruch am Dateiende oder ein anderes Zeilenendezeichen verändert den Hash vollständig. Das ist der übliche Grund, warum eine Prüfsumme übereinstimmen „müsste" und es nicht tut.
- Die Kodierung ist wichtig. Dieses Werkzeug hasht Ihren Text als UTF-8. Dieselben Zeichen in einer anderen Kodierung zu hashen ergibt ein anderes Ergebnis.
- Groß- und Kleinschreibung ist Konvention, keine Bedeutung. Hashes werden oft in Groß- oder Kleinbuchstaben dargestellt; der Wert ist derselbe. Vergleichen Sie ohne Rücksicht auf die Schreibweise.
- Auch eine leere Eingabe hat einen Hash — eine bekannte Konstante für jeden Algorithmus.
- Große Dateien hashen Sie besser mit den Bordmitteln Ihres Betriebssystems: certutil -hashfile unter Windows, shasum -a 256 unter macOS und Linux.
Häufige Fragen
Was ist der Unterschied zwischen Hashing und Verschlüsselung?
Verschlüsselung ist umkehrbar — mit dem richtigen Schlüssel erhalten Sie die Originaldaten zurück, und genau darum geht es. Hashing ist von Natur aus einseitig: Es erzeugt einen Fingerabdruck fester Länge, und es gibt keinen Weg zurück, weil der größte Teil der Information absichtlich verworfen wird. Hashing beantwortet „sind diese beiden Dinge identisch?", niemals „was war das?".
Kann ein Hash entschlüsselt oder umgekehrt werden?
Nein. Was Nachschlage-Websites anbieten, ist keine Umkehrung, sondern Wiedererkennung: Sie haben Milliarden gängiger Zeichenketten vorab gehasht und prüfen, ob Ihre in der Tabelle vorkommt. Gängige Passwörter und Wörterbuchwörter werden sofort gefunden; alles Ungewöhnliche steht nicht in der Tabelle und wird nie darin stehen. Die Funktion selbst lässt sich nicht invertieren.
Ist MD5 noch sicher?
Nur zum Erkennen versehentlicher Beschädigung, etwa um zu prüfen, ob ein Download unversehrt angekommen ist, oder um doppelte Dateien zu finden. Gegen absichtliche Angriffe ist es vollständig gebrochen — zwei verschiedene Dateien mit demselben MD5 lassen sich in Sekunden erzeugen. Auch SHA-1 ist gebrochen, 2017 mit kollidierenden PDFs vorgeführt. Verwenden Sie SHA-256 für alles, bei dem Vertrauen im Spiel ist.
Welchen Hash-Algorithmus sollte ich verwenden?
SHA-256 für fast alles. Er ist schnell, breit unterstützt und hat keinen bekannten praktikablen Kollisionsangriff. SHA-512 ist eine vernünftige Alternative und kann auf 64-Bit-Systemen schneller sein, ist in der Praxis aber nicht nennenswert sicherer. Behalten Sie MD5 und SHA-1 für die Kompatibilität mit bestehenden Systemen und für Prüfungen ohne Sicherheitsbezug vor.
Kann ich damit Passwörter für meine Website hashen?
Bitte nicht. Schnelle Hashes wie SHA-256 sind das falsche Werkzeug: Hardware kann Milliarden pro Sekunde berechnen, sodass eine gestohlene Datenbank rasch per Brute Force geknackt wird. Verwenden Sie bcrypt, scrypt oder Argon2, die pro Passwort ein eindeutiges Salt hinzufügen und absichtlich langsam sind. Nutzen Sie immer eine etablierte Bibliothek, statt die Passwortspeicherung selbst zusammenzubauen.
Warum stimmt mein Hash nicht mit dem auf der Website veröffentlichten überein?
Fast immer wegen eines unsichtbaren Unterschieds in der Eingabe. Ein Leerzeichen am Ende, ein fehlender oder zusätzlicher Zeilenumbruch am Schluss oder Windows- statt Unix-Zeilenenden verändern den Hash vollständig — das ist der Lawineneffekt, der korrekt arbeitet. Prüfen Sie außerdem, ob Sie denselben Algorithmus vergleichen, da eine Seite mehrere auflisten kann.
Wird mein Text an einen Server gesendet?
Nein. Die SHA-Hashes werden von der eingebauten Web-Crypto-Implementierung Ihres Browsers berechnet und MD5 wird in JavaScript berechnet, beides vollständig auf Ihrem Gerät. Nichts wird übertragen oder gespeichert, und das Werkzeug funktioniert auch bei ausgeschalteter Verbindung.
Verwandte Werkzeuge
- Datei-Prüfsumme — eine echte Datei hashen statt eingefügten Text
- Passwort-Generator — starke Passwörter erzeugen, die es wert sind, richtig gespeichert zu werden
- Base64 kodieren / dekodieren — Kodierung, die anders als Hashing umkehrbar ist
- JWT Decoder — Token, deren Signaturen auf diesen Hash-Funktionen aufbauen