
Hash- und HMAC-Generator: MD5, SHA-256, SHA-512 online
MD5- oder SHA-Digest berechnen oder eine Nachricht per HMAC signieren — im Browser. Hex, Base64 oder Base64URL, lokale Text-Prüfsummen und Webhooks.
Ein Digest belegt die Bytes; HMAC belegt, wer sie gesendet hat
Hash und HMAC beantworten verschiedene Fragen. SHA-256 einer Zeichenkette sagt, ob sie noch zu einem veröffentlichten Fingerabdruck passt. HMAC-SHA-256 derselben Zeichenkette plus ein gemeinsames Geheimnis sagt, ob jemand mit diesem Geheimnis sie erzeugt hat. Beides ist keine Verschlüsselung und kein Passwortspeicher. FastMinify trennt die Aufgaben: Der Hash-Generator online berechnet MD5, SHA-1, SHA-256, SHA-384 und SHA-512 aus UTF-8-Text, der HMAC-Generator signiert eine Nachricht mit HMAC-SHA-256, SHA-384 oder SHA-512. Beides läuft im Tab über Web Crypto (MD5 ist eine lokale Implementierung, weil Web Crypto es nicht anbietet). Nichts wird hochgeladen. Beide stehen im Kodierungs-Tools-Hub, neben Base64 und JWT-Helfern — Kodierung schreibt Bytes, Hashen fingerabdruckt sie.
Wann der Browser der richtige Ort zum Hashen ist
Eine Zeichenkette, die Sie einfügen können, ein Geheimnis, das Sie in den eigenen Browser tippen, ein Digest, den Sie schon haben.
Wenn die Bytes ein Binärartefakt sind, oder das Geheimnis nicht in einem Browser auf einem geteilten Rechner auftauchen darf, bleiben Sie in der Shell oder in der CI.
Hash-Fehler, die wie ein Treffer aussehen
Ein schlichter Digest ist schnell, ungesalzen und für dieselbe Eingabe identisch. Das will man bei einer Prüfsumme. Das will man nicht bei einem Passwort: Ein Angreifer berechnet den Digest vor, und zwei Nutzer mit demselben Passwort teilen eine Zeile. Die Doku der Hash- und HMAC-Seiten sagt das. Passwörter gehören auf bcrypt-hash (oder Argon2 auf dem Server). HMAC ist ebenfalls das falsche Werkzeug: Es authentisiert eine Nachricht mit einem Geheimnis, das Sie behalten müssen, es streckt kein Passwort.
Jeder kann SHA-256 eines öffentlichen Bodys neu berechnen. Der Digest belegt, dass der Body sich nicht geändert hat; er belegt nicht, wer ihn erzeugt hat. Wenn ein Webhook, ein Release-Hinweis oder ein API-Aufruf authentisch sein muss, braucht es ein Geheimnis: HMAC, oder eine JWT-Signatur über jwt-verify. Die umgekehrte Verwechslung ist nach dem Base64-Kodieren-und-Dekodieren-Guide genauso häufig: Base64 ist reversible Verpackung. SHA-256 von abc ist ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Aus diesem Hex wird nicht wieder abc.
Der Hash-Generator hasht UTF-8-Text, keine Rohdatei. Der Upload akzeptiert nur Textendungen — txt, md, json, csv, html, xml, yml, yaml — bis zur Client-Grenze von 32 MiB, und die Datei wird vor dem Hashen als Text gelesen. Ein Anbieter-SHA-256 einer .tar.gz, eines Bildes oder eines PDF passt nicht, und diese Typen sind nicht in der Auswahl. Selbst eine Textdatei kann von sha256sum abweichen, wenn sich die Zeilenenden ändern. SHA-256 von abc ist der Vektor oben. SHA-256 von abc plus einem LF ist edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb. Dieselben Buchstaben, andere Bytes.
GitHubs X-Hub-Signature-256 ist sha256= plus HMAC-SHA-256 des rohen Bodys, Geheimnis als UTF-8. Stripe signiert timestamp.payload, nicht das JSON allein. Die HMAC-Seite baut diese Zeichenketten nicht und entfernt kein sha256=-Präfix. Fügen Sie die exakte Nachricht, die exakten Schlüsselbytes und nur den Digest ein. Der Vergleich ignoriert Hex-Großschreibung und Leerzeichen sowie nachgestelltes = bei Base64URL. Ein Präfix ignoriert er nicht.
Welcher Algorithmus, welche Schreibweise, welches Werkzeug
Alle erzeugen undurchsichtige Zeichenketten. Sie ersetzen einander nicht.
Die Digest-Bytes bleiben gleich. Die Schreibweise nicht. Hex ist, was sha256sum und die meisten Webhook-Dokus drucken. Base64 mit Padding ist, was manche APIs liefern. Base64URL ohne Padding ist die kompakte Form (kein +, kein /, kein nachgestelltes =). Großschreibung gilt nur für Hex.
Ein abgeschnittener Digest ist eine misslungene Kopie, kein anderer Algorithmus. Zählen Sie die Zeichen, nachdem Leerzeichen weg sind.
Einen Digest berechnen, dann eine Nachricht signieren
Öffnen Sie den Hash-Generator. Fügen Sie den Text ein oder laden Sie eine Textdatei. Wählen Sie Hex, Base64 oder Base64URL. Großschreibung nur einschalten, wenn der Referenz-Digest in Versalien steht — bei Base64 ändert sie nichts. Alle fünf Algorithmen aktualisieren sich zusammen. Fügen Sie den erwarteten Digest ein, um Treffer zu markieren. Laden Sie das Beispiel, wenn Sie nur die Pipeline sehen wollen. Das Feld braucht Text, der nicht nur Whitespace ist; ein leeres Feld löscht die Karten, statt den bekannten SHA-256 der leeren Zeichenkette zu zeigen.
Schritt 1 — Die exakten Bytes als Text einfügen
Einigen Sie sich auf Zeilenenden. Ein abschließendes LF gehört zur Eingabe. Formatieren Sie JSON nicht um, wenn die andere Seite die kompakte Form gehasht hat.
Schritt 2 — Die Ausgabeschreibweise angleichen
Hex für Prüfsummen und CLI-Tools. Base64 mit Padding, wenn die API + / und = zeigt. Base64URL ohne Padding, wenn der Digest in einem Token oder einer URL steht.
Schritt 3 — Den erwarteten Digest einfügen
Der Vergleich ignoriert Hex-Großschreibung und Leerzeichen sowie Base64URL-Padding. Ein Treffer markiert den Algorithmus. Keine Markierung: andere Bytes, andere Schreibweise, oder ein Präfix, das noch weg muss.
Öffnen Sie den HMAC-Generator. Es gibt keinen Datei-Upload: Nachricht und Geheimnis einfügen. SHA-256 lassen, außer der Anbieter sagt SHA-384 oder SHA-512. Schlüsselkodierung auf UTF-8 für ein Passphrasen-Geheimnis, Hex für einen Hex-Schlüssel (optionales 0x, gerade Länge) oder Base64, wenn der Schlüssel so gespeichert wurde. UTF-8 auf einem Hex-Geheimnis signiert die Zeichen 0-9a-f, nicht die Schlüsselbytes — der Digest passt nicht, und der Fehler ist nicht offensichtlich. Erwarteter Digest folgt denselben Regeln wie die Hash-Seite.
Dieselben Bytes in Node und openssl
createHash und createHmac hashen die Zeichenkette, die Sie übergeben. Sie hängen keinen Zeilenumbruch an. Das entspricht den Browser-Tools.
Einfaches Beispiel
echo hängt einen Zeilenumbruch an, der Digest gilt also für andere Bytes. printf nicht. Für eine Datei auf der Platte -binary nur setzen, wenn Sie die rohen Digest-Bytes wollen; Hex ist die Textform.
Einfaches Beispiel
Keine Installation, kein Upload, fünf Hash-Algorithmen oder drei HMAC-Algorithmen, Hex / Base64 / Base64URL und eine Markierung des erwarteten Digests. Grenze: nur Text und UTF-8, 32-MiB-Deckel für Textdateien auf der Hash-Seite, keine binäre Prüfsumme, kein MD5-HMAC, kein Passwort-Stretching, kein JWT-Zusammenbau. Nutzen Sie die Seiten, um ein Snippet zu prüfen oder einen Webhook-Digest nachzubauen. openssl bleibt am Release-Artefakt, bcrypt am Passwort.
Fazit
Hashen Sie den Text, wenn Sie wissen müssen, dass er sich nicht geändert hat. Nehmen Sie HMAC, wenn ein gemeinsames Geheimnis belegen muss, wer ihn erzeugt hat. FastMinify macht beides im Browser: MD5 bis SHA-512 für UTF-8-Text (und Textdateien bis 32 MiB), HMAC-SHA-256/384/512 mit UTF-8-, Hex- oder Base64-Schlüssel, geschrieben als Hex, Base64 oder Base64URL ohne Padding. Es prüft kein Archiv, speichert kein Passwort und verifiziert kein JWT. Das bleibt bei openssl, bcrypt und jwt-verify. Starten Sie im Kodierungs-Tools-Hub, solange die Zeichenkette noch Text ist.
Verwandte Artikel

Kein SSH und kein nginx für ein Next.js-Sideproject. Vergleich von Railway, Render, Vercel und einem VPS — dann aus Git deployen, nachdem Assets im Browser minifiziert wurden.

Text, Datei oder Bild im Browser nach Base64 wandeln (und zurück) — Data-URI, E-Mail-Anhang, JWT-Segment. 100 % lokal, keine Verschlüsselung.

SCSS- oder LESS-Snippets (Variablen, Nesting, Mixins) im Browser zu CSS kompilieren — ohne npm run build, ideal für Reviews und Umgebungen ohne Node.