HMAC Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand HMAC Generator

Berechnet mit einem gemeinsamen geheimen Schlüssel einen HMAC-SHA256-, HMAC-SHA384- oder HMAC-SHA512-Authentifizierungscode über eine Nachricht.

How it works

HMAC führt den Hash zweimal aus und mischt den Schlüssel in jeden Durchgang, einen gültigen Code zu erzeugen setzt also den Besitz des Schlüssels voraus. Das ist der Unterschied zu einem einfachen Hash: Einen SHA-256-Digest über veränderte Daten kann jeder nachrechnen, was einen bloßen Digest gegen eine absichtliche Änderung wertlos macht, während ein HMAC die Integrität an den Besitz des Geheimnisses bindet. Die Ausgabe hat die Breite des zugrunde liegenden Hashs – 32 Byte bei SHA-256, hier als 64 Hexzeichen dargestellt. Dieses Tool behandelt den Schlüssel als UTF-8-Text und signiert mit WebCrypto.

When to use it

  • Einen GitHub- oder Stripe-Webhook prüfen, indem Sie die Signatur über den rohen Request-Body nachrechnen.
  • Ein AWS-Signature-V4- oder ein ähnliches Signaturverfahren debuggen, wenn der Server Ihre Signatur ablehnt.
  • Bestätigen, dass eine Signaturimplementierung in einer anderen Sprache bytegleiche Ausgaben erzeugt.
  • Das Signaturteil eines HS256-JWT von Hand bauen, um zu sehen, wie die Teile zusammenpassen.
  • Aus einer Datensatz-ID plus einem serverseitigen Geheimnis ein deterministisches, fälschungssicheres Token ableiten.

Watch out for

  • Vergleichen Sie Codes im echten Code in konstanter Zeit. Ein === oder ein einfacher Zeichenkettenvergleich bricht beim ersten abweichenden Byte ab, was über viele Versuche hinweg das korrekte Präfix preisgibt; nutzen Sie crypto.timingSafeEqual, hmac.compare_digest oder die Entsprechung Ihrer Sprache.
  • Signieren Sie genau die rohen Bytes. JSON zu parsen und neu zu serialisieren ändert Leerraum und Schlüsselreihenfolge, und der HMAC passt dann nicht mehr. Greifen Sie den Request-Body ab, bevor eine Body-Parsing-Middleware ihn anfasst.
  • Die Kodierungen müssen zusammenpassen. Dieses Tool nimmt einen UTF-8-Textschlüssel und liefert Hex. Ein Anbieter, der ein Base64-Secret veröffentlicht oder eine Base64-Signatur erwartet, braucht eine ausdrückliche Umwandlung – nicht zueinander passende Kodierung ist die häufigste Ursache für eine Signatur, die „eigentlich“ passen müsste.
  • Ein HMAC belegt Herkunft und Integrität, nicht Aktualität. Solange nicht ein Zeitstempel oder eine Nonce Teil der signierten Daten ist und geprüft wird, lässt sich eine mitgeschnittene Anfrage unverändert erneut senden und wird als gültig anerkannt.

Not the right tool for: Signaturen, die Dritte prüfen, aber nicht selbst erzeugen können sollen. HMAC ist symmetrisch – der prüfende Schlüssel ist der signierende Schlüssel –, verwenden Sie also ein asymmetrisches Verfahren wie RS256 oder Ed25519, wenn der Prüfende nicht fälschen können darf.

Frequently Asked Questions

Was ist ein Message Authentication Code?

Ein Message Authentication Code (MAC) ist ein kurzer Wert, der einer Nachricht angehängt wird, um sowohl ihre Integrität (sie wurde nicht verändert) als auch ihre Authentizität (sie stammt vom erwarteten Absender, der den geheimen Schlüssel hält) zu belegen. HMAC ist die am weitesten verbreitete MAC-Konstruktion – sie verbindet eine Hashfunktion mit einem geheimen Schlüssel.

Was ist API-Authentifizierung?

API-Authentifizierung weist die Identität eines Clients gegenüber einem Server nach, bevor Zugriff gewährt wird. HMAC kommt in Signaturverfahren für APIs zum Einsatz: Der Client berechnet HMAC über die Anfrage (Methode + Pfad + Body + Zeitstempel) mit einem gemeinsamen geheimen Schlüssel und sendet das Ergebnis als Header. Der Server rechnet nach und vergleicht.

Was ist HMAC-SHA256?

HMAC-SHA256 verwendet SHA-256 als Hashfunktion innerhalb der HMAC-Konstruktion. Es erzeugt einen 256 Bit (32 Byte) langen Authentifizierungscode. Es ist die häufigste Wahl für Webhook-Signaturen (GitHub, Stripe) und für AWS Signature V4. HMAC-SHA512 erzeugt für höhere Sicherheit einen 512 Bit langen Code.

How to Use HMAC Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.