HMAC-generator og -verifikator
Generer og verifiser HMAC-meldingsautentiseringskoder med SHA-256, SHA-384, SHA-512 eller SHA-1 ved hjelp av en hemmelig nøkkel, helt og holdent i nettleseren din.
🔒 Behandles i sin helhet i nettleseren din – ingenting du skriver inn her blir noen gang lastet opp.
Resultat
En HMAC (nøkkelbasert meldingsautentiseringskode) er en nøkkelbasert kryptografisk konstruksjon som kombinerer en hemmelig nøkkel med en melding gjennom en hashfunksjon som SHA-256. I motsetning til en vanlig hash, som hvem som helst kan beregne på nytt fra selve meldingen, kan en HMAC bare reproduseres av noen som har den samme hemmelige nøkkelen – det er det som gjør det til en autentiseringskode og ikke bare en sjekksum.
Dette er den grunnleggende forskjellen fra et vanlig sammendrag: vårt eget hashgenerator-verktøy beregner nøkkelløse hasher som MD5 eller SHA-256, som er flotte for å oppdage utilsiktet korrupsjon, men som ikke beviser noe om hvem som produserte dataene, siden hvem som helst kan generere den samme hashen. En HMAC beviser både integritet (meldingen ble ikke endret) og autentisitet (undertegnen kjente den delte hemmeligheten), som er grunnen til at HMAC er den standard byggesteinen bak API-forespørselsignering, JWTs HS256/HS384/HS512-algoritmer og TLS-postautentisering.
Det vanligste bruksområdet i den virkelige verden er verifisering av webhook-signaturer. Tjenester som Stripe, GitHub og Shopify signerer hver webhook-nyttelast med HMAC-SHA256 ved hjelp av en hemmelighet du konfigurerer, og sender den resulterende signaturen i en forespørselsheader. Serveren din forventes å beregne HMAC på nytt over den rå nyttelasten med den samme hemmeligheten og sammenligne den med header-verdien – hvis de samsvarer, vet du at forespørselen virkelig kom fra den tjenesten og ikke ble tuklet med under overføringen. Dette verktøyets verifiseringsmodus gjenskaper nøyaktig den sjekken: lim inn nyttelasten, den delte hemmeligheten og den mottatte signaturen, og få et øyeblikkelig samsvar eller ikke samsvar.
Alt kjører lokalt gjennom nettleserens innebygde Web Crypto API (crypto.subtle.importKey og crypto.subtle.sign), så den hemmelige nøkkelen, meldingsinnholdet og den resulterende signaturen forlater aldri maskinen din – ingenting lastes opp til noen server, noe som er viktig siden HMAC-hemmeligheter er akkurat den typen verdi du aldri bør lime inn i et tilfeldig nettverktøy som kan logge den.