Inga data skickas

HMAC-generator (Beräkna HMAC-SHA256 lokalt)

Ett verktyg för att generera HMAC-SHA256 här och nu. Nycklar och indata blir varken skickade eller lagrade.

Stöder Text, Hex och Base64 som indata. Beräknas säkert med webbläsarens standard Crypto API.

Lokal beräkning Ingen lagring Hex/Base64 stöds

Indata och utdata

Denna sida utför beräkningar helt inne i webbläsaren och skickar inte data vidare.

Inga data skickas
Indataformat

* 'Bytesekvensen' enligt API-specifikationerna är viktig. Om nyckeln är binär, ange den i Hex eller Base64.

Indataformat
Utdatalängd: 32 bytes (SHA-256)
Alternativ

Resultaten ändras om radbrytningskoder skiljer sig pga. OS eller kopiering.

Eftersom API-signaturer förväntar exakt matchning, är det vanligtvis bäst att behålla texten som den är.

Användning

De 3 grundläggande stegen för att skapa en HMAC-signatur.

  1. 1 Ange nyckel (Välj Hex / Base64 om API:et förväntar binära data)
  2. 2 Ange meddelandet (Strängen som ska signeras)
  3. 3 Välj utdataformat (Hex / Base64) och kopiera

HMAC beräknas på 'bytesekvenser', inte 'teckensträngar'. Även om de ser lika ut, varierar resultaten om teckenkodning, radbrytningar eller extra blanksteg skiljer sig (antar UTF-8).

Exempel (Testvektorer för verifiering)

Klicka på 'Ladda exempel' för att fylla i fälten.

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

Vanliga fallgropar

Skillnader i radbrytning (LF/CRLF)

Resultatet ändras om hantering av radbrytning varierar.

Trimning (borttagning av blanksteg)

Eftersom signaturer förväntar exakt matchning kan borttagning av blanksteg leda till fel.

Base64URL-notation

Base64URL använder vanligtvis +→-, /→_, och utelämnar =. Kolla dina specifikationer.

Hantering av nyckel (Text mot Binär)

Exempel: Att ange 'deadbeef' som en 'sträng' kontra att ange den som 'bytesekvens 0xDE 0xAD...'.

Tilläggsinformation

Vad är HMAC?

En mekanism för att skapa en signatur från en hemlig nyckel och ett meddelande. En tredje part kan inte skapa samma resultat utan den hemliga nyckeln.

Skillnad från SHA-256

SHA-256 är en 'hash', HMAC är en 'nycklad hash (signatur)'.

Användningsområden

Används för API-signaturer, Webhook-verifiering, upptäckt av manipulering av förfrågningar etc.

FAQ

Lagras nyckeln?

Den lagras inte. Detta verktyg beräknar allt i webbläsaren och skickar inte nycklar eller meddelanden till en server. (Som en försiktighetsåtgärd bör du nollställa efter användning på en delad dator).

Base64 eller Hex?

Båda används. Du kan välja utdataformat (Hex / Base64 / Base64URL). Välj enligt dina API-specifikationer.

Teckenkodning?

Antar UTF-8. Textindata konverteras till bytes som UTF-8 för beräkning. Använd Hex eller Base64 för att hantera binära data.

Skillnad mellan HMAC och SHA-256 hash?

SHA-256 är en hash, HMAC är en signatur som kräver nyckel. Man kan inte producera samma resultat utan att nycklarna stämmer överens.

Utdata stämmer inte

Vanliga orsaker är (1) Nyckelhantering (Text mot Binär), (2) Radbrytningar, (3) Blanksteg, (4) Base64URL. Kolla fallgroparna ovan.