Toolonit
  1. Startseite
  2. Verschlüsselung
  3. HMAC

HMAC-Generator und -Prüfer

HMAC-SHA256 und andere HMAC-Signaturen mit einem geheimen Schlüssel erstellen und prüfen.

0 Bytes
Schlüssel ist
Algorithmus
Ausgabe
HMAC-SHA-256Geben Sie den geheimen Schlüssel ein, um den HMAC zu sehen.

Optional. Ein X-Hub-Signature-256-Headerwert von GitHub (sha256=…) kann unverändert eingefügt werden.

Ein HMAC ist eine Signatur aus einer Nachricht und einem gemeinsamen geheimen Schlüssel: Wer den Schlüssel hat, kann sie erneut berechnen, und jede Änderung an Nachricht oder Schlüssel ergibt einen anderen Wert. Webhooks (GitHub, Stripe, Slack), signierte API-Anfragen und JWT-Tokens mit HS256 nutzen ihn. Der HMAC aktualisiert sich beim Tippen, und Sie können eine Signatur einfügen, um sie zu prüfen. Berechnet wird er von der eingebauten Web Crypto Ihres Browsers, sodass Nachricht und Schlüssel nie Ihr Gerät verlassen; es ist kostenlos und ohne Anmeldung.

So erstellen und prüfen Sie einen HMAC

  1. Fügen Sie die Nachricht genau so ein, wie sie signiert wurde – bei einem Webhook den unveränderten Request-Body.
  2. Geben Sie den geheimen Schlüssel ein oder klicken Sie auf Generieren für einen zufälligen; wählen Sie Hex, wenn Sie den Schlüssel als Hex-Bytes erhalten haben.
  3. Wählen Sie den Algorithmus (SHA-256, sofern nichts anderes verlangt ist) und kopieren Sie das Ergebnis als Hex oder Base64.
  4. Um eine Signatur zu prüfen, fügen Sie sie unter Signatur prüfen ein – ein sha256=…-Headerwert von GitHub funktioniert unverändert.

Funktionen

  • HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 und HMAC-SHA512
  • Geheimer Schlüssel als Text (UTF-8) oder Hex oder ein zufälliger 32-Byte-Schlüssel per Generieren
  • Ergebnis in Hex oder Base64, aktualisiert beim Tippen
  • Prüft eine empfangene Signatur in Hex oder Base64 (auch URL-sicher), mit oder ohne das Präfix sha256= von GitHub oder v0= von Slack
  • Weist darauf hin, wenn eine Signatur die Länge eines anderen Algorithmus hat, mit einer Schaltfläche zum Wechseln
  • Berechnet mit der eingebauten Web Crypto Ihres Browsers

Ist das privat?

Ja. Der HMAC wird von der eingebauten Web Crypto Ihres Browsers berechnet; Nachricht und geheimer Schlüssel bleiben auf dieser Seite und werden nie hochgeladen oder gespeichert.

Häufige Fragen

Wie prüfe ich die Signatur eines GitHub-Webhooks?

Fügen Sie den unveränderten Request-Body als Nachricht ein, Ihr Webhook-Secret als Text-Schlüssel und den Wert des Headers X-Hub-Signature-256 unter Signatur prüfen. GitHub sendet sha256= gefolgt vom HMAC-SHA256 des Bodys in Hex, und das Präfix wird unverändert gelesen.

Wie prüfe ich die Signatur eines JWT mit HS256?

Fügen Sie Header und Payload des Tokens – alles vor dem zweiten Punkt – als Nachricht ein, das Secret als Schlüssel, wählen Sie SHA-256 und fügen Sie den dritten Teil des Tokens unter Signatur prüfen ein. Sein URL-sicheres Base64 wird unverändert gelesen.

Warum stimmt meine Signatur nicht überein?

Die Nachricht muss Byte für Byte der signierten entsprechen: Neu formatiertes JSON, ein fehlender oder zusätzlicher Zeilenumbruch am Ende oder Windows-Zeilenenden (CRLF) verändern den HMAC. Hier eingegebener Text verwendet LF-Zeilenumbrüche. Prüfen Sie außerdem den Algorithmus und ob der Schlüssel Text oder Hex ist.

Liefert es dasselbe Ergebnis wie OpenSSL?

Ja. printf '%s' 'message' | openssl dgst -sha256 -hmac 'key' gibt denselben Hex-Wert aus, und ein Hex-Schlüssel entspricht -mac HMAC -macopt hexkey:…. Verwenden Sie printf oder echo -n: Ein einfaches echo hängt einen Zeilenumbruch an, der mitsigniert wird.

Ist HMAC-SHA1 noch sicher?

Für HMAC in der Praxis ja: Die bekannten SHA-1-Kollisionen brechen HMAC-SHA1 nicht, deshalb nutzen ältere Webhooks es noch. Für alles Neue wählen Sie HMAC-SHA256.

Ähnliche Tools