Ingen data sendt

HMAC Generator (Beregn HMAC-SHA256 i browseren)

Et HMAC-beregningsværktøj til at generere HMAC SHA256 lige her. Nøgler og input bliver hverken sendt eller gemt.

Understøtter tekst/Hex/Base64-input og Hex/Base64-output. Beregnes sikkert ved hjælp af browserens standard Crypto API.

Lokal beregning Ingen lagring Hex/Base64 understøttet

Input og output

Denne side udfører beregninger helt i browseren og sender ikke data.

Ingen data sendt
Inputformat

* 'Byte-sekvensen' i henhold til API-specifikationer er vigtig. Hvis nøglen er binær, skal du indtaste den i Hex/Base64.

Inputformat
Outputlængde: 32 bytes (SHA-256)
Indstillinger

Resultaterne vil ændre sig, hvis linjeskiftskoder er forskellige på grund af operativsystem eller kopiering.

Da API-signaturer forudsætter 'eksakt match', anbefales det generelt at beholde det som det er.

Brug

De 3 grundlæggende trin til oprettelse af en HMAC-signatur.

  1. 1 Indtast nøgle (Vælg Hex / Base64 hvis API-specifikationen er binær)
  2. 2 Indtast meddelelse (streng der skal signeres / payload)
  3. 3 Vælg outputformat (Hex / Base64) og kopier

HMAC beregnes på 'byte-sekvenser', ikke 'tegnstrenge'. Selvom de ser ens ud, vil resultaterne variere, hvis tegnkodning, linjeskift eller ekstra mellemrum er forskellige (forudsætter UTF-8).

Eksempler (testvektorer til verifikation)

Klik på 'Indlæs eksempel' for at udfylde inputfelterne.

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

Almindelige faldgruber

Forskelle i linjeskiftskoder (LF/CRLF)

Resultaterne ændrer sig, hvis håndteringen af linjeskift varierer.

Trimning (fjernelse af mellemrum)

Da signaturer forudsætter eksakte matches, kan fjernelse af mellemrum forårsage uoverensstemmelser.

Base64URL-notation

Base64URL bruger typisk +→-, /→_ og udelader =. Tjek venligst specifikationerne.

Nøglehåndtering (tekst vs. binær)

Eksempel: Indtastning af 'deadbeef' som en 'streng' vs. indtastning som 'byte-sekvens 0xDE 0xAD...'.

Supplerende information

Hvad er HMAC?

En mekanisme til at oprette en signatur fra en hemmelig nøgle og en meddelelse. En tredjepart kan ikke oprette det samme resultat uden den samme nøgle.

Forskel fra SHA-256

SHA-256 er en 'hash', HMAC er en 'nøgle-hash (signatur)'.

Anvendelsesscenarier

Bruges til API-signaturer, Webhook-verifikation, detektering af manipulation af anmodninger osv.

FAQ

Bliver nøglen gemt?

Den bliver ikke gemt. Dette værktøj beregner i browseren og sender ikke nøgler eller meddelelser til en server. (※Som en sikkerhedsforanstaltning bør du nulstille efter indtastning på en delt pc)

Base64 eller Hex?

Begge bruges. Du kan vælge outputformatet (Hex / Base64 / Base64URL). Vælg venligst i henhold til API-specifikationerne.

Tegnkodning?

Forudsætter UTF-8. Tekstinput konverteres til bytes som UTF-8 til beregningen. Brug Hex/Base64-input til håndtering af binære data.

Forskel mellem HMAC og SHA-256 hash?

SHA-256 er en 'hash', HMAC is en 'nøgle-hash (signatur)'. Det samme resultat kan ikke produceres, medmindre nøglerne matcher.

Outputtet matcher ikke

Almindelige årsager er (1) Nøglehåndtering (tekst vs. binær), (2) linjeskift, (3) mellemrum, (4) Base64URL. Tjek venligst faldgruberne ovenfor i rækkefølge.