Geen gegevens verzonden

HMAC Generator (Bereken HMAC-SHA256 in de browser)

Een HMAC-berekeningstool om hier ter plekke HMAC-SHA256 te genereren. Sleutels en invoer worden niet verzonden of opgeslagen.

Ondersteunt Tekst/Hex/Base64 invoer en Hex/Base64 uitvoer. Berekent veilig met de standaard Crypto API van de browser.

Lokale berekening Geen opslag Hex/Base64 ondersteund

Invoer en Uitvoer

Deze pagina voert berekeningen volledig binnen de browser uit en verzendt geen gegevens.

Geen gegevens verzonden
Invoerformaat

* De 'bytereeks' volgens API-specificaties is belangrijk. Als de sleutel binair is, voer deze dan in als Hex/Base64.

Invoerformaat
Uitvoerlengte: 32 bytes (SHA-256)
Opties

Resultaten veranderen als newline-codes verschillen door besturingssysteem of kopiëren-plakken.

Aangezien API-handtekeningen uitgaan van een 'exacte match', wordt over het algemeen aanbevolen dit ongewijzigd te laten.

Gebruik

De basis 3 stappen voor het maken van een HMAC-handtekening.

  1. 1 Voer de sleutel in (Selecteer Hex / Base64 als de API-spec binair is)
  2. 2 Voer het bericht in (Te ondertekenen reeks / payload)
  3. 3 Selecteer het uitvoerformaat (Hex / Base64) en kopieer

HMAC wordt berekend op 'bytereeksen', niet op 'tekenreeksen'. Zelfs als ze er hetzelfde uitzien, zullen de resultaten verschillen als de tekencodering, newlines of extra spaties verschillen (gaat uit van UTF-8).

Voorbeelden (Testvectoren voor verificatie)

Klik op 'Voorbeeld laden' om de invoervelden te vullen.

Voorbeeld 1
Sleutel (Tekst/UTF-8)
secret
Bericht (Tekst/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Voorbeeld 2
Sleutel (Tekst/UTF-8)
key
Bericht (Tekst/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Veelvoorkomende Valkuilen

Verschillen in Newline-codes (LF/CRLF)

Resultaten veranderen als de newline-afhandeling varieert.

Trimmen (Spaties verwijderen)

Aangezien handtekeningen uitgaan van exacte matches, kan het verwijderen van spaties leiden tot mismatch.

Base64URL Notatie

Base64URL gebruikt doorgaans +→-, /→_ en laat = weg. Controleer de specificaties.

Sleutelafhandeling (Tekst vs Binair)

Voorbeeld: 'deadbeef' invoeren als een 'tekenreeks' vs het invoeren als 'bytereeks 0xDE 0xAD...'.

Aanvullende Informatie

Wat is HMAC?

Een mechanisme om een handtekening te maken van een geheime sleutel en een bericht. Een derde partij kan niet hetzelfde resultaat maken zonder dezelfde sleutel.

Verschil met SHA-256

SHA-256 is een 'hash', HMAC is een 'keyed hash (handtekening)'.

Gebruiksscenario's

Gebruikt voor API-handtekeningen, Webhook-verificatie, detectie van knoeien met verzoeken, enz.

FAQ

Wordt de sleutel opgeslagen?

Nee, deze wordt niet opgeslagen. Deze tool rekent binnen de browser en verzendt geen sleutels of berichten naar een server. (※ Als voorzorgsmaatregel: wis de invoer na gebruik op een gedeelde pc)

Base64 of Hex?

Beide worden gebruikt. U kunt het uitvoerformaat selecteren (Hex / Base64 / Base64URL). Kies volgens de API-specificaties.

Tekencodering?

Gaat uit van UTF-8. Tekstinvoer wordt geconverteerd naar bytes als UTF-8 voor de berekening. Gebruik Hex / Base64 invoer voor het verwerken van binaire data.

Verschil tussen HMAC en SHA-256 hash?

SHA-256 is een 'hash', HMAC is een 'keyed hash (handtekening)'. Hetzelfde resultaat kan niet worden geproduceerd tenzij de sleutels overeenkomen.

De uitvoer komt niet overeen

Veelvoorkomende oorzaken zijn (1) Sleutelafhandeling (Tekst vs Binair), (2) Newlines, (3) Spaties, (4) Base64URL. Controleer de valkuilen hierboven in volgorde.