Ingen data sendes

HMAC-generator (Beregn HMAC-SHA256 lokalt)

Et verktøy for å generere HMAC-SHA256 her og nå. Nøkler og inndata blir verken sendt eller lagret.

Støtter Tekst, Hex og Base64 som inndata. Beregnes sikkert ved hjelp av nettleserens standard Crypto API.

Lokal beregning Ingen lagring Hex/Base64 støttes

Inndata og utdata

Denne siden utfører beregninger helt inne i nettleseren og sender ikke data ut.

Ingen data sendes
Inndataformat

* 'Bytesekvensen' i henhold til API-spesifikasjonene er viktig. Hvis nøkkelen er binær, vennligst oppgi den i Hex eller Base64.

Inndataformat
Utdatalengde: 32 bytes (SHA-256)
Innstillinger

Resultatene vil endre seg hvis linjeskiftkoder er forskjellige på grunn av OS eller kopiering.

Siden API-signaturer forventer nøyaktig samsvar, er det vanligvis best å beholde teksten som den er.

Bruk

De 3 grunnleggende stegene for å lage en HMAC-signatur.

  1. 1 Oppgi nøkkel (Velg Hex / Base64 hvis API-en forventer binære data)
  2. 2 Skriv inn meldingen (Strengen som skal signeres)
  3. 3 Velg utdataformat (Hex / Base64) og kopier

HMAC beregnes på 'bytesekvenser', ikke 'tegnstrenger'. Selv om de ser like ut, vil resultatene variere hvis tegnkoding, linjeskift eller ekstra mellomrom er forskjellige (antar UTF-8).

Eksempler (Testvektorer for verifisering)

Klikk på 'Last inn eksempel' for å fylle ut feltene.

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

Vanlige fallgruver

Forskjeller i linjeskift (LF/CRLF)

Resultatet endres hvis håndtering av linjeskift varierer.

Trimming (fjerning av mellomrom)

Siden signaturer forventer nøyaktig samsvar, kan fjerning av mellomrom føre til feil.

Base64URL-notasjon

Base64URL bruker vanligvis +→-, /→_, og utelater =. Sjekk spesifikasjonene dine.

Håndtering av nøkkel (Tekst vs. Binær)

Eksempel: Å skrive inn 'deadbeef' som en 'streng' versus å skrive den inn som 'bytesekvens 0xDE 0xAD...'.

Tilleggsinformasjon

Hva er HMAC?

En mekanisme for å lage en signatur fra en hemmelig nøkkel og en melding. En tredjepart kan ikke lage samme resultat uten den samme nøkkelen.

Forskjell fra SHA-256

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

Bruksområder

Brukt for API-signaturer, Webhook-verifisering, oppdaging av tukling med forespørsler osv.

FAQ

Blir nøkkelen lagret?

Den blir ikke lagret. Dette verktøyet beregner alt i nettleseren og sender ikke nøkler eller meldinger til en server. (Som en forholdsregel bør du nullstille etter bruk på en delt PC).

Base64 eller Hex?

Begge brukes. Du kan velge utdataformat (Hex / Base64 / Base64URL). Vennligst velg i henhold til API-spesifikasjonene dine.

Tegnkoding?

Antar UTF-8. Tekstinndata konverteres til bytes som UTF-8 for beregning. Bruk Hex eller Base64 for å håndtere binære data.

Forskjell på HMAC og SHA-256 hash?

SHA-256 er en hash, HMAC er en signatur som krever nøkkel. Man kan ikke produsere samme resultat uten at nøklene stemmer overens.

Utdata stemmer ikke

Vanlige årsaker er (1) Nøkkelhåndtering (Tekst vs. Binær), (2) Linjeskift, (3) Mellomrom, (4) Base64URL. Sjekk fallgruvene ovenfor.