logo
GeekFormat

HMAC-Generator & Verifizierer

Hashi-Algorithmus

Die empfohlene Schlüssellänge entspricht der Länge DES Hash-Ausgangs: SHA-1=20 Bytes, SHA-256=32 Bytes, SHA-384=48 Bytes, SHA-512=64 Bytes

Nachrichteninhalte0 Zeichen
HMAC Signatur (Hex)
Warte auf Eingabe...

Hinweise

  • HMAC Erzeugt Signaturen basierend auf Schlüssel- und Hashi-Algorithmen zur Authentifizierung von Quelle und Integrität
  • Unterstützung SHA-1 / SHA-256 / SHA-384 / SHA-512
  • Generieren und validieren Sie beide lokal in Browsern, ohne Daten hochzuladen
  • Validierung verwendet feste Länge Bytes, um Zeitreihenunterschiede zu reduzieren

Kostenloser Online-HMAC-Signatur-Generator und -Verifizierer mit gängigen SHA-Algorithmen. Ideal für API-Signaturen, Webhook-Verifizierung und Sicherheits-Debugging.

Ähnliche Tools

Anwendungsfälle

  • Stripe-Webhook-Entwicklung: Zahlungs-Callbacks debuggen und die Korrektheit des Headers `Stripe-Signature` prüfen
  • GitHub-Webhook-Integration: `X-Hub-Signature-256` für Push- und Pull-Request-Ereignisse verifizieren
  • Shopify-Bestellsynchronisierung: `X-Shopify-Hmac-Sha256` für Webhooks zu Bestellaktualisierungen prüfen
  • Slack-Bot-Signaturen: `X-Slack-Signature` für Event-Callbacks von Slack verifizieren
  • JWT-Entwicklung und Debugging: JWTs mit HS256 signieren und die Gültigkeit von Tokens prüfen
  • API-Request-Signierung: AWS Signature V4 oder eigene API-Signaturverfahren implementieren

Funktionen

  • Unterstützung mehrerer Algorithmen: HMAC-SHA256/384/512, SHA1 und MD5 für moderne APIs ebenso wie für Altsysteme
  • Webhook-Signaturprüfung: integrierte Unterstützung für Stripe-, GitHub-, Shopify- und Slack-Formate mit automatischer Analyse
  • Drei Ausgabeformate: Hex, Base64 und Base64URL, passend zu den Anforderungen verschiedener APIs und Plattformen
  • Generierung in Echtzeit: automatische Neuberechnung 300 ms nach jeder Eingabe, ohne extra Button-Klick
  • Signaturprüfmodus: erwartete Signatur einfügen und sofort sehen, ob sie übereinstimmt
  • Schlüssellängenprüfung: Echtzeitbewertung der Schlüsselstärke mit Warnung bei zu kurzen Schlüsseln
  • Verarbeitung im Browser: lokale Berechnung über die Web Crypto API, Schlüssel werden nie auf den Server hochgeladen
  • JWT-Unterstützung: HMAC-SHA256-Ausgaben können direkt für HS256-Signaturen genutzt werden

Anleitung

  1. Algorithmus auswählen: HMAC-SHA256 ist voreingestellt und für moderne APIs empfohlen
  2. Nachricht eingeben: rohen Nachrichtenkörper oder API-Request-Inhalt einfügen
  3. Schlüssel eingeben: Webhook Secret oder API Secret eintragen
  4. Format wählen: passendes Ausgabeformat auswählen, zum Beispiel Hex für Stripe oder Base64URL für JWT
  5. Signatur prüfen: in den Prüfmodus wechseln und die erwartete Signatur zum Vergleich einfügen

Häufig gestellte Fragen

Was ist der Unterschied zwischen HMAC und normalem Hashing?

Normale Hashfunktionen wie SHA256 berechnen nur einen Fingerabdruck der Nachricht selbst; diesen kann grundsätzlich jeder erzeugen. HMAC bindet dagegen einen geheimen Schlüssel in den Hash-Vorgang ein. Dadurch können nur Parteien mit diesem Schlüssel eine gültige Signatur erstellen oder prüfen. HMAC bestätigt also sowohl die Integrität als auch die Echtheit einer Nachricht, während ein normaler Hash nur die Integrität prüft.

Wie prüft man Webhook-Signaturen von Stripe, GitHub oder Shopify?

Die Plattformen formatieren ihre Signaturen unterschiedlich: Stripe nutzt den Header `Stripe-Signature` im Format `t=timestamp,v1=hex_signature` und signiert die Zeichenkette `timestamp.payload`; GitHub verwendet `X-Hub-Signature-256` im Format `sha256=hex_signature`; Shopify sendet `X-Shopify-Hmac-Sha256` als Base64-codierten Wert. Dieses Tool kann diese gängigen Formate direkt verifizieren.

Worin unterscheiden sich Hex-, Base64- und Base64URL-Ausgabe?

Hex ist das hexadezimale Format (0-9, A-F), gut lesbar und besonders praktisch zum Debuggen. Base64 ist eine kompaktere 64-Zeichen-Codierung und eignet sich gut zum Einbetten in JSON. Base64URL ist die URL-sichere Variante (sie ersetzt +/ durch -_) und wird häufig in JWT-Headern und URL-Parametern verwendet.

Welchen HMAC-Algorithmus sollte ich verwenden?

**HMAC-SHA256 ist die empfohlene Wahl**: Es ist der heutige Standard für APIs und Webhooks (unter anderem bei Stripe, GitHub, Shopify und Slack), liefert eine 32-Byte-Ausgabe und wird praktisch überall unterstützt. SHA-512 bietet mehr Sicherheitsreserve, erzeugt aber eine längere Ausgabe von 64 Byte. SHA1 ist nur noch für Altsysteme sinnvoll. MD5 ist veraltet und sollte höchstens für sehr alte APIs genutzt werden, die es zwingend verlangen.

Welche Anforderungen gelten für die Schlüssellänge?

Längere Schlüssel sind sicherer. Empfohlen werden mindestens 16 Zeichen (128 Bit), für Produktion eher 32 Zeichen oder mehr. Das Tool überwacht die Schlüssellänge in Echtzeit und warnt, wenn sie zu kurz ist. Erzeuge Schlüssel mit einem kryptografisch sicheren Zufallszahlengenerator, nicht aus einfachen Passwörtern oder vorhersehbaren Zeichenfolgen.

Warum zeigt die Signaturprüfung eine Abweichung an?

Häufige Ursachen sind: 1) Die Nachricht enthält zusätzliche Leerzeichen oder Zeilenumbrüche; 2) die Plattform signiert eine zusammengesetzte Zeichenkette, zum Beispiel signiert Stripe `timestamp.payload`; 3) die Signatur enthält ein Präfix, das entfernt werden muss, etwa `sha256=` bei GitHub; 4) es wurde ein anderer Algorithmus verwendet. Prüfe, ob beide Seiten wirklich dieselben Parameter nutzen.

Kann HMAC zum Signieren von JWT verwendet werden?

Ja. Der JWT-Algorithmus HS256 basiert auf HMAC-SHA256, HS512 entsprechend auf HMAC-SHA512. Die HMAC-SHA256-Ausgabe dieses Tools kann direkt als Signaturinhalt für HS256 verwendet werden. Bei JWT werden Header und Payload zuerst Base64URL-codiert und anschließend mit HS256 signiert.

Ist dieses Online-HMAC-Tool sicher?

Dieses Tool nutzt die Web Crypto API und führt alle Berechnungen lokal in deinem Browser aus. Schlüssel und Nachrichten werden nie an einen Server gesendet. Du kannst das im Network-Panel der Browser-DevTools prüfen: Es werden keine externen Requests ausgelöst. Für Tests und Entwicklung ist das gut geeignet; bei hochsensiblen Produktionsschlüsseln solltest du lokale Offline-Tools verwenden.

Kann man HMAC-Signaturen fälschen?

Nein, solange der Schlüssel geheim bleibt und der verwendete Hash-Algorithmus ausreichend kollisionsresistent ist. Mit langen, zufälligen Schlüsseln sind keine Angriffe bekannt, mit denen sich gültige HMAC-Signaturen fälschen lassen. Regelmäßige Schlüsselrotation ist zusätzlich eine gute Sicherheitsmaßnahme.

Was ist HMAC-Generator & Verifizierer?

HMAC (Hash-based Message Authentication Code) ist ein weit verbreitetes Verfahren zur Nachrichtenauthentifizierung und in RFC 2104 definiert. Dabei werden ein geheimer Schlüssel und eine Nachricht gemeinsam durch eine Hashfunktion verarbeitet, um eine Signatur mit fester Länge zu erzeugen. Anders als bei normalen Hashes muss man den Schlüssel kennen, um die Signatur zu erzeugen oder zu prüfen. So bestätigt HMAC sowohl Integrität als auch Echtheit.

**HMAC ist ein Grundbaustein moderner API-Sicherheit**. Stripe, GitHub, Shopify, Slack und Twilio signieren Webhook-Ereignisse mit HMAC-SHA256, damit Empfänger prüfen können, ob die Anfrage wirklich von der Plattform stammt. AWS nutzt HMAC-SHA256 für Signature V4. Auch der JWT-Algorithmus HS256 ist im Kern HMAC-SHA256. Wer HMAC versteht, hat einen wichtigen Teil von API-Sicherheit verstanden.

**Verschiedene Plattformen verwenden verschiedene Signaturformate**: Stripe nutzt `t=timestamp,v1=hex_signature` und signiert `timestamp.payload`; GitHub verwendet `X-Hub-Signature-256` im Format `sha256=hex_signature`; Shopify sendet `X-Shopify-Hmac-Sha256` als Base64-codierten Wert. Dieses Tool kann diese gängigen Formate automatisch erkennen und prüfen.

**Warum schlägt eine Signaturprüfung fehl?** Meist liegt es an einem abweichenden Nachrichtenformat: Vielleicht signiert die Plattform `timestamp.payload` statt des rohen Nachrichtenkörpers, der Inhalt enthält zusätzliche Zeilenumbrüche oder die Signatur trägt ein Präfix wie `sha256=`, das entfernt werden muss. Lies die Plattformdokumentation genau und vergleiche am besten mit dem rohen Hex-Wert.

Dieses Tool nutzt die native **Web Crypto API** des Browsers (SubtleCrypto) für HMAC-Berechnungen, also dieselbe kryptografische Grundlage, auf der auch HTTPS und TLS aufbauen. Alle Berechnungen laufen lokal; Schlüssel und Nachrichten werden nie an einen Server gesendet. Im Network-Panel der Browser-DevTools kannst du prüfen, dass keine externen Requests erfolgen.