Hash-Generator

Läuft in deinem Browser; nichts wird hochgeladen

MD5-, SHA-1-, SHA-256-, SHA-384- und SHA-512-Hashes und HMACs von Text oder einer Datei, mit Abgleich gegen einen Hash, den du schon hast.

Input

Hashes

Nothing to hash yet

Type or paste text on the left, or open a file to hash its bytes.
Ready
Hex

Was ist ein Hash?

Eine Hashfunktion macht aus jeder Eingabe einen Fingerabdruck fester Länge. Dieselbe Eingabe ergibt immer denselben Hash, ein geändertes Byte ergibt einen völlig anderen, und vom Hash kommst du nicht zur Eingabe zurück. MD5 liefert 128 Bit, SHA-1 160, und SHA-256, SHA-384 und SHA-512 so viele Bits, wie ihr Name sagt, hier als Hex oder Base64 angezeigt.

Entwickler prüfen mit Hashes, ob sich Daten verändert haben: Eine Downloadseite nennt eine SHA-256-Prüfsumme, damit du bestätigen kannst, dass die erhaltene Datei die veröffentlichte ist. Ein HMAC ist ein Hash, gemischt mit einem geheimen Schlüssel. Webhook-Anbieter und viele APIs signieren jeden Request mit HMAC-SHA256, und der Empfänger berechnet denselben HMAC über den rohen Body, um zu belegen, dass der Request echt ist.

MD5 und SHA-1 sind für Sicherheitszwecke gebrochen: Angreifer können zwei verschiedene Eingaben mit demselben Hash erzeugen. Um versehentliche Änderungen zu erkennen, taugen sie noch, aber nimm SHA-256 oder Stärkeres für alles, was jemand fälschen könnte. Ein einfacher Hash ist auch der falsche Weg, Passwörter zu speichern; dafür braucht es einen langsamen, gesalzenen Algorithmus wie Argon2, scrypt oder bcrypt.

So benutzt du dieses Tool

  1. 1Tippe oder füge Text in den Bereich Input ein. Er wird als UTF-8 gehasht, und die Hashes aktualisieren sich beim Tippen.
  2. 2Um eine Datei zu hashen, wähle Hash a file (Ctrl+O) oder zieh die Datei auf die Eingabe. Die Bytes der Datei werden exakt so gehasht, wie sie auf der Festplatte liegen, in deinem Browser.
  3. 3Wähle die Ausgabe: Hex, Hex in Großbuchstaben oder Base64. Kopiere einen Hash mit dem Button in seiner Zeile oder alle mit Copy all.
  4. 4Für einen HMAC stellst du den Modus auf HMAC und gibst den Schlüssel ein, als Text oder als Hex-Bytes.
  5. 5Um einen erhaltenen Hash zu prüfen, füge ihn in Compare ein. Das Tool sagt, zu welchem Algorithmus er passt, egal ob du Hex, Base64 oder eine Zeile aus einer Prüfsummendatei einfügst.

Fehlerbehebung

Mein Hash stimmt nicht mit dem von der Kommandozeile überein
Hashes beziehen sich auf exakte Bytes. echo hängt einen Zeilenumbruch an, nutze also echo -n oder printf. Auch ein Leerzeichen am Ende oder eine andere Kodierung ändert das Ergebnis.
Text mit Windows-Zeilenenden ergibt einen anderen Hash
Browser machen aus den Zeilenenden von Text in einem Editor \n, eingefügter Text wird also mit LF-Zeilenenden gehasht. Um die exakten Bytes einer Datei mit CRLF-Zeilenenden zu hashen, öffne die Datei, statt sie einzufügen.
Meine Webhook-Signatur passt nicht
Berechne den HMAC über den rohen Request-Body genau so, wie er ankam, vor jedem JSON-Parsing oder Umformatieren, mit demselben Schlüssel und Algorithmus. Manche Anbieter schicken die Signatur in Base64, andere in Hex; Compare akzeptiert beides.
Der Schlüssel ist kein gültiges Hex
Im Hex-Modus muss der Schlüssel aus Paaren der Ziffern 0–9 und a–f bestehen. Stell das Schlüsselformat auf Text um, um die Zeichen des Schlüssels als UTF-8 zu verwenden.

Häufige Fragen

Wird mein Text oder meine Datei an einen Server geschickt?

Nein. SHA-1 und die SHA-2-Hashes berechnet die Web-Crypto-API deines Browsers, MD5 der Code auf der Seite. Dateien werden im Browser gelesen, bis 200 MB, und nichts verlässt dein Gerät.

Kann ich einen Hash umkehren oder entschlüsseln?

Nein. Hashing ist eine Einbahnstraße. Seiten, die angeblich MD5 umkehren, schlagen den Hash in Tabellen mit Hashes gängiger Wörter und Passwörter nach, was nur bei schwachen Eingaben funktioniert.

Welchen Algorithmus sollte ich nehmen?

SHA-256 für Prüfsummen, Signaturen und alles Sicherheitsrelevante. SHA-384 und SHA-512 sind ebenfalls sicher. MD5 oder SHA-1 nur dort, wo ein bestehendes System sie verlangt.