HMAC-generator
HMAC är algoritmen bakom de flesta signerade webhooks, AWS Signature v4-rubriker och JWT HS256-tokens. Ange ett meddelande och en hemlig nyckel, välj en hashfamilj, så skapar generatorn en HMAC exakt enligt RFC 2104 – användbart för att verifiera vad din backend ska skicka eller för att återskapa en signatur du mottagit från ett API.
Så beräknar du en HMAC
-
1
Klistra in meddelandet
De exakta byte som ska signeras – en webhook-payload, en kanonisk begäran eller vilken sträng som helst.
-
2
Ange den hemliga nyckeln
Kan vara text eller hexadecimal. Generatorn fyller ut eller hashar den till blockstorleken enligt RFC.
-
3
Välj hashalgoritmen
SHA-256 är standardvalet; välj istället SHA-1, SHA-384, SHA-512 eller MD5 för kompatibilitet med äldre system.
-
4
Kopiera signaturen
Utdatan är hexadecimal i små bokstäver, redo att klistra in i en webhook-konfiguration eller en auktoriseringsrubrik.
HMAC i kärnan
HMAC omsluter en enkel hashfunktion i en nyckelbaserad konstruktion, så att signaturn inte kan förfalskas utan nyckeln.
RFC 2104-receptet
HMAC(k, m) = H((k' ⊕ opad) ∥ H((k' ⊕ ipad) ∥ m))
där k' är nyckeln som har padats till hashblockstorleken, samt opad = 0x5c repeated och ipad = 0x36 repeated.
Algoritmval
| Algoritm | Blockstorlek | Utdatalängd | Rekommenderas för |
|---|---|---|---|
| HMAC-SHA-256 | 64 byte | 32 byte | Modern standard, signering av webhooks |
| HMAC-SHA-384 | 128 byte | 48 byte | Undertecknande för API med högre säkerhet |
| HMAC-SHA-512 | 128 byte | 64 byte | Långlivade token |
| HMAC-SHA-1 | 64 byte | 20 byte | Äldre version (AWS S3 v2, OAuth 1.0) |
| HMAC-MD5 | 64 byte | 16 byte | Endast för äldre system; undvik användningen i nytt arbete |
Var HMAC visas
- GitHub-, Stripe- och Shopify-webhooks: rubriken
X-Hub-Signature-256,Stripe-Signatureosv. - AWS Signature v4: en kedja av HMAC-SHA256 över den kanoniska begäran.
- JWT HS256: tokensignaturen är
HMAC-SHA-256(header.payload, secret). - Token för lösenordsåterställning: HMAC över user_id + giltighetstid + en webbplatshemlighet.
Vanliga misstag
- Att skicka en hexkodad nyckel som text istället för att först avkoda den till byte.
- Att signera fel payload-byte: vissa webhooks signerar den råa begärankroppen inklusive blanksteg, medan andra signerar en kanonisk form.
- Att använda
==i JavaScript eller Python för att jämföra signaturer; använd alltid en tidssäker jämförelse för att motverka tidsbaserade attacker.
Vanliga frågor
Nästan alltid beror det på att meddelandets byte skiljer sig åt. Att signera den JSON-parsade kroppen leder till förändringar i blanksteg; signera istället den råa begärankroppen. Kontrollera också att nyckeln avkodas på samma sätt (hexadecimalt eller som råa byte) på båda sidor.
Ja. Om nyckeln är kortare än storleken på hashblocket kompletteras den med nollar; om den är längre hashas den först. RFC 2104 rekommenderar att nycklarna är minst lika långa som utdata (32 byte för SHA-256).
HMAC är fortfarande motståndskraftigt mot kända MD5-kollisioner, eftersom dessa attacker inte påverkar hur HMAC byggs upp. Använd dock HMAC-SHA-256 i all ny kod – både utvecklare och granskare förväntar sig detta.
Ja. Meddelandet och den hemliga nyckeln skickas till vår server via en krypterad HTTPS-anslutning för att HMAC ska kunna beräknas. De används endast för beräkningen och lagras eller loggas inte.
Relaterade verktyg
slumpmässig API-keygenerator
Generera API-nycklar på servern med 8–128 tecken i hex-, base64url- eller alfanumeriskt format, eller skapa ett UUIDv4.
Lösenordsstyrkekontroll
Kontrollera lösenordsstyrkan i webbläsaren: längd, teckenvariation, entropi i bitar och en ungefärlig uppskattning av knäcktiden. Ingenting laddas upp.
SHA256-generator
Generera SHA-256-hashar från valfri text. 64 tecken hex-utdata, samma algoritm bakom Bitcoin-adresser, TLS-certifikat och JWT-signaturer.
SHA512-generator
Beräkna SHA-512-hashar, 128 hex-tecken, 256 bitars kollisionsmotstånd. Används i moderna shadow-lösenordsfiler, digitala signaturer och HMAC.
Kodare för Polybios chiffer
Koda latinska bokstäver som Polybios-koordinater eller avkoda separerade par med det fasta 5×5-rutnätet för I/J.
SSH-nyckelgenerator
Skapa ett RSA-SSH-nyckelpar (2048, 3072 eller 4096 bitar) helt i din webbläsare. Varken den privata eller den publika nyckeln lämnar din enhet. Lägg till en kommentar och ladda ner båda.
Verktyget finns på andra språk
- HMACジェネレーター [JA]
- مولّد HMAC [AR]
- HMAC-Generator [DE]
- Bộ tạo HMAC [VI]
- Générateur HMAC [FR]
- HMAC 생성기 [KO]
- ตัวสร้าง HMAC [TH]
- HMAC Generator [ID]
- Generator HMAC [PL]
- Generador de HMAC [ES]
- Gerador de HMAC [PT]
- HMAC-generator [NL]
- Генератор HMAC [RU]
- HMAC Jeneratörü [TR]
- HMAC 生成器 [ZH]
- HMAC Generator [EN]
- Generatore HMAC [IT]