Hoppa till innehåll
TextArray
100% lokalt

HMAC generator

Beräkna HMAC-SHA256, SHA-1, SHA-384 eller SHA-512 signaturer med en hemlig nyckel.

Inmatning
Utmatning

HMAC generator

En HMAC är en nyckelad hash: meddelandet och en hemlig nyckel går in tillsammans, och bara någon som håller samma nyckel kan reproducera eller verifiera resultatet. Det är vad API-leverantörer använder för att signera förfrågningar och vad webhook-avsändare som betalningsplattformar och kodvärdtjänster kopplar till varje leverans, så att mottagaren kan bevisa att nyttolasten verkligen kom från dem och inte ändrades under transporten.

Ange den hemliga nyckeln, välj den algoritm som den andra sidan använder - SHA-256 är den överväldigande standarden - och klistra in meddelandet. Sammanfattningen visas som gemener hexadecimal eller som Base64, som matchar de två format som signaturer byts ut i. Slå på HMAC per rad för att signera varje inmatningsrad separat, vilket passar en kolumn med tokens eller ID:n. Utvecklare sträcker sig efter detta medan de felsöker en webhook-hanterare som avvisar signaturer, reproducerar ett dokumentationsexempel eller genererar en testvektor för ett enhetstest.

Både nyckeln och meddelandet tas som UTF-8-byte, precis som de flesta server-SDK:er gör. När ditt resultat inte matchar den andra sidan är orsaken nästan alltid bytes, inte matematik: en avslutande nyrad i nyttolasten, CRLF-linjeändelser, hex-utgång jämfört med Base64, eller en nyckel som tjänsten tillhandahåller Base64- eller hex-kodad och förväntar sig avkodad före användning.

Nyckelfältet är maskerat och skrivs aldrig medvetet till din webbläsares lagring. Allt körs lokalt genom webbläsarens inbyggda WebCrypto - att klistra in en signeringshemlighet i ett online HMAC-verktyg lämnar den normalt till den servern, och här lämnar den aldrig din enhet.

FAQ

Vad används en HMAC till?
Att bevisa att ett meddelande kommer från någon som har den delade hemligheten och inte ändrades på vägen. Typiska användningsområden: signering av API-förfrågningar, verifiering av webhook-leveranser från betalnings- och värdplattformar och signering av tokens. Mottagaren beräknar om HMAC med samma nyckel och jämför.
Hur skiljer sig HMAC från en vanlig hash?
En vanlig SHA-256 av ett meddelande kan beräknas av vem som helst, så det bevisar ingenting om avsändaren. En HMAC blandar en hemlig nyckel i beräkningen på ett sätt som motstår manipulering - utan nyckeln kan du varken förfalska en giltig signatur eller verifiera en. Det är också därför HMAC-SHA1 förblir acceptabel i praktiken även om vanlig SHA-1 är trasig för kollisioner, även om nya konstruktioner fortfarande bör välja SHA-256.
Varför matchar inte min HMAC den som servern skickar?
Nästan alltid skiljer sig byten åt. Kolla efter en efterföljande nyrad i nyttolasten, CRLF kontra LF linjeändelser, hex jämfört med Base64, och nyckelformatet — många tjänster ger dig den hemliga Base64- eller hex-kodade och förväntar dig de avkodade byten som nyckel. Det här verktyget använder nyckeln exakt som den är skriven, som UTF-8.
Kan någon återställa min nyckel från en HMAC?
Ingen praktisk attack återställer nyckeln från sammandragningar. Men vem som helst som håller nyckeln kan signera godtyckliga meddelanden, så behandla signeringshemligheter som lösenord: rotera en webhook-hemlighet om den kan ha läckt, och lägg den aldrig till ett arkiv.
Laddas min nyckel och text upp någonstans?
Nej. HMAC beräknas av din webbläsares inbyggda WebCrypto, nyckelfältet skrivs aldrig till minnet och varken nyckeln eller texten lämnar din enhet.