HMAC-Generator
HMAC Generator
Berechnet einen HMAC über eine Nachricht mit gewähltem Hash und gewählter Schlüsselkodierung, für Webhook-Signaturprüfungen.
Berechnet einen HMAC – einen Digest mit Schlüssel – über Text oder eine Datei, wobei der Schlüssel als Text, Hex oder Base64 gelesen wird. Es ist derselbe Bildschirm wie das Hash-Werkzeug mit eingeschalteter HMAC-Hälfte, denn ein HMAC ist ein Hash mit Schlüssel, und sie zu trennen hieße zwei Seiten, die jedes Bedienelement teilen.
Eingabe
Datei ablegen, um ihre Prüfsumme zu bilden
Wird in diesem Tab gelesen. Nichts wird hochgeladen.
Text wird als UTF-8-Bytes gehasht – das ist, was jedes andere Werkzeug meint, wenn es eine Zeichenkette hasht.
Digests
Fügen Sie eine veröffentlichte Prüfsumme ein; die passende Zeile leuchtet auf.
| Algorithmus | Digest | Kopieren |
|---|---|---|
| MD5Kollisionen lassen sich billig konstruieren. Als Prüfsumme in Ordnung, für Signaturen oder Passwörter nicht. | ||
| SHA-1Kollisionen sind vorgeführt worden. Für eine alte Prüfsumme in Ordnung, für nichts Neues. | ||
| SHA-256 | ||
| SHA-384 | ||
| SHA-512 | ||
| CRC-32Ein Code zur Fehlererkennung, kein Hash. Zwei Dateien können denselben aus Versehen teilen, absichtlich erst recht. |
Eingabe
0 Byte
Quelle
Textfeld
So funktioniert es
Schalten Sie HMAC ein
Das Schlüsselfeld erscheint, und CRC-32 fällt aus der Tabelle – es ist eine Prüfsumme, keine Hashfunktion, und hat keinen HMAC.
Geben Sie an, wie der Schlüssel zu lesen ist
Hier gehen HMACs meist schief. Ein als `0a1b2c` geschriebener Schlüssel sind drei Bytes als Hex und sechs als Text, und die beiden ergeben völlig verschiedene Digests.
Vergleichen Sie mit der Signatur, die Sie erhalten haben
Fügen Sie sie in das Vergleichsfeld ein; die passende Zeile wird hervorgehoben. Webhook-Signaturen von Stripe, GitHub und Slack sind alle HMAC-SHA256 über einen bestimmten String, sodass die richtige Nachricht ebenso zählt wie der Schlüssel.
Häufige Fragen
Warum stimmt mein HMAC nicht mit dem im Header überein?
Meist die Nachricht, nicht der Schlüssel. Eine Webhook-Signatur wird über einen exakten String berechnet – oft Zeitstempel, Trennzeichen und roher Body –, und ein Body, der durch einen JSON-Parser gegangen und neu serialisiert wurde, ist ein anderer String. Signieren Sie die Bytes, die Sie empfangen haben.
Ist HMAC dasselbe wie Schlüssel und Nachricht zusammen zu hashen?
Nein, und das ist sein Zweck. `hash(key + message)` ist bei MD5, SHA-1 und SHA-256 für einen Length-Extension-Angriff anfällig; die Zwei-Durchgang-Konstruktion von HMAC mit innerem und äußerem Padding ist es, was das beseitigt. Bauen Sie nie Ihren eigenen.
Verlässt der Schlüssel den Tab?
Nein. Er wird verwendet, um in diesem Tab einen WebCrypto-Schlüssel zu importieren, und sonst nichts – nicht übertragen, nicht gespeichert, nicht in die URL gesetzt. Beim Neuladen der Seite geht er verloren, was für ein Geheimnis das richtige Verhalten ist.
Wie lang sollte der Schlüssel sein?
Mindestens so lang wie der Digest – 32 Bytes für SHA-256. HMAC akzeptiert jede Länge, aber ein Schlüssel, der länger als die Blockgröße ist, wird zuerst heruntergehasht, und ein kurzer Schlüssel ist schlicht ein kurzer Schlüssel: Die Sicherheit ist die Entropie, die Sie hineinstecken.
Eingabe aus
Text-Hash
Text Hash
Berechnet MD5, SHA-1, SHA-256, SHA-384, SHA-512 und CRC-32 einer Zeichenkette, wahlweise in Großbuchstaben oder als Base64.
TOTP-Code-Generator
TOTP Code Generator
Macht aus einem TOTP-Geheimnis den aktuellen sechsstelligen Code mit Countdown, zum Testen von 2FA-Einrichtungen.
Zufallsschlüssel-Generator
Random Key Generator
Erzeugt kryptografische Zufallsbytes als Hex, Base64 oder Base64URL in gewählter Länge, für App-Geheimnisse.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
Text-Hash
Text Hash
Berechnet MD5, SHA-1, SHA-256, SHA-384, SHA-512 und CRC-32 einer Zeichenkette, wahlweise in Großbuchstaben oder als Base64.
JWT-Decoder
JWT Decoder
Dekodiert Header und Payload, zeigt den Ablauf der Claims in Ortszeit und prüft die Signatur gegen einen mitgelieferten Schlüssel – ohne Upload, komplett im Browser.
Zufallsschlüssel-Generator
Random Key Generator
Erzeugt kryptografische Zufallsbytes als Hex, Base64 oder Base64URL in gewählter Länge, für App-Geheimnisse.
Base64 kodieren und dekodieren
Base64 Encoder & Decoder
Kodiert und dekodiert Base64 und Base64URL für Text oder Dateien und behandelt UTF-8 korrekt.
curl in Code
curl to Code
Wandelt einen curl-Befehl in fetch, axios, Python requests, Go, PHP oder PowerShell um.
JSON ⇄ CSV umwandeln
JSON ⇄ CSV
Flacht verschachteltes JSON zu Spalten ab oder baut Objekte aus einer Tabelle wieder auf, mit Punktpfad-Regel für die Spaltennamen.