Keine Daten gesendet

HMAC-Generator (HMAC-SHA256 im Browser berechnen)

Ein HMAC-Berechnungstool, um HMAC-SHA256 direkt hier zu generieren. Schlüssel und Eingaben werden weder gesendet noch gespeichert.

Unterstützt Text/Hex/Base64-Eingaben und Hex/Base64-Ausgaben. Berechnet sicher unter Verwendung der Standard-Crypto-API des Browsers.

Lokale Berechnung Keine Speicherung Hex/Base64 unterstützt

Eingabe und Ausgabe

Diese Seite führt Berechnungen vollständig im Browser durch und sendet keine Daten.

Keine Daten gesendet
Eingabeformat

* Die 'Byte-Sequenz' gemäß API-Spezifikationen ist wichtig. Wenn der Schlüssel binär ist, geben Sie ihn bitte in Hex/Base64 ein.

Eingabeformat
Ausgabelänge: 32 Bytes (SHA-256)
Optionen

Ergebnisse ändern sich, wenn Zeilenumbrüche aufgrund von Betriebssystem oder Kopieren/Einfügen abweichen.

Da API-Signaturen eine 'exakte Übereinstimmung' voraussetzen, wird das Beibehalten im Allgemeinen empfohlen.

Verwendung

Die 3 grundlegenden Schritte zum Erstellen einer HMAC-Signatur.

  1. 1 Schlüssel eingeben (Wählen Sie Hex / Base64, wenn die API-Spezifikation binär ist)
  2. 2 Nachricht eingeben (Zu signierender String / Payload)
  3. 3 Ausgabeformat wählen (Hex / Base64) und kopieren

HMAC wird auf 'Byte-Sequenzen' berechnet, nicht auf 'Zeichenketten'. Auch wenn sie gleich aussehen, weichen die Ergebnisse ab, wenn sich Zeichenkodierung, Zeilenumbrüche oder zusätzliche Leerzeichen unterscheiden (geht von UTF-8 aus).

Beispiele (Testvektoren zur Überprüfung)

Klicken Sie auf 'Beispiel laden', um die Eingabefelder auszufüllen.

Beispiel 1
Schlüssel (Text/UTF-8)
secret
Nachricht (Text/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Beispiel 2
Schlüssel (Text/UTF-8)
key
Nachricht (Text/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Häufige Fallstricke

Unterschiede bei Zeilenumbrüchen (LF/CRLF)

Ergebnisse ändern sich, wenn die Behandlung von Zeilenumbrüchen variiert.

Trimming (Entfernen von Leerzeichen)

Da Signaturen exakte Übereinstimmungen voraussetzen, kann das Entfernen von Leerzeichen zu Fehlern führen.

Base64URL-Schreibweise

Base64URL verwendet typischerweise +→-, /→_ und lässt = weg. Bitte prüfen Sie die Spezifikationen.

Schlüsselbehandlung (Text vs. Binär)

Beispiel: Eingabe von 'deadbeef' als 'String' vs. Eingabe als 'Byte-Sequenz 0xDE 0xAD...'.

Zusätzliche Informationen

Was ist HMAC?

Ein Mechanismus zum Erstellen einer Signatur aus einem geheimen Schlüssel und einer Nachricht. Ein Dritter kann ohne denselben Schlüssel nicht dasselbe Ergebnis erstellen.

Unterschied zu SHA-256

SHA-256 ist ein 'Hash', HMAC ist ein 'Keyed Hash (Signatur)'.

Anwendungsfälle

Verwendet für API-Signaturen, Webhook-Verifizierung, Erkennung von Anforderungsmanipulationen usw.

Häufig gestellte Fragen (FAQ)

Wird der Schlüssel gespeichert?

Er wird nicht gespeichert. Dieses Tool berechnet innerhalb des Browsers und sendet keine Schlüssel oder Nachrichten an einen Server. (※Als Vorsichtsmaßnahme setzen Sie bitte die Eingabe nach der Verwendung auf einem gemeinsam genutzten PC zurück)

Base64 oder Hex?

Beides wird verwendet. Sie können das Ausgabeformat wählen (Hex / Base64 / Base64URL). Bitte wählen Sie entsprechend der API-Spezifikationen.

Zeichenkodierung?

Geht von UTF-8 aus. Texteingaben werden für die Berechnung als UTF-8 in Bytes konvertiert. Verwenden Sie Hex / Base64-Eingabe für die Handhabung von Binärdaten.

Unterschied zwischen HMAC und SHA-256 Hash?

SHA-256 ist ein 'Hash', HMAC ist ein 'Keyed Hash (Signatur)'. Das gleiche Ergebnis kann nicht erzeugt werden, es sei denn, die Schlüssel stimmen überein.

Die Ausgabe stimmt nicht überein

Häufige Ursachen sind (1) Schlüsselbehandlung (Text vs. Binär), (2) Zeilenumbrüche, (3) Leerzeichen, (4) Base64URL. Bitte überprüfen Sie die obigen Fallstricke in der Reihenfolge.