Generátor HMAC (HMAC-SHA256 v prohlížeči)
Stránka pro generování HMAC SHA256 bez sítě pro rychlý výpočet HMAC a kontrolu podpisů.
Vše běží lokálně ve vašem prohlížeči. Klíče ani zprávy se nikdy nepřenášejí ani neukládají.
Jak používat (HMAC signature)
- Zadejte klíč. Pokud vaše API specifikace poskytuje binární bajty klíče, zvolte vstupní formát Hex nebo Base64.
- Zadejte payload zprávy, kterou chcete podepsat.
- Vyberte výstupní formát (Hex / Base64 / Base64URL) a výsledek zkopírujte.
Příklady (testovací vektory)
Příklad 1 (krátká kontrola)
Vstup: Klíč = secret (UTF-8), Zpráva = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Příklad 2 (běžná fráze)
Vstup: Klíč = key, Zpráva = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
Běžná úskalí
- Rozdíly mezi novými řádky LF a CRLF vytvářejí odlišné podpisy.
- Oříznutí počátečních nebo koncových mezer může rozbít shodu podpisu API.
- Base64URL často znamená převod + na -, / na _ a vynechání paddingu =. Ověřte si specifikaci svého API.
- Pokud je klíč distribuován jako bajty Hex/Base64, bude jeho chápání jako prostého textu způsobovat neshody.
Časté dotazy
Ukládá se můj klíč?
Ne. Tento nástroj počítá ve vašem prohlížeči a neposílá vstupy klíče ani zprávy na žádný server.
Base64 nebo Hex?
Obojí je běžné. Můžete zvolit výstup Hex / Base64 / Base64URL podle specifikace vašeho API.
Jaké kódování znaků se používá (UTF-8)?
Textový vstup se před výpočtem HMAC zakóduje jako UTF-8. Pro binární hodnoty použijte vstup Hex/Base64.
Jaký je rozdíl mezi HMAC a hashem SHA-256?
SHA-256 je běžný hash. HMAC přidává tajný klíč pro autentizaci zpráv.
Můj výstup nesouhlasí. Co mám zkontrolovat?
Zkontrolujte interpretaci klíče (text vs bajty), zacházení s novými řádky, ořezávání mezer a pravidla Base64URL.
Doplnění
Co je HMAC?
HMAC je kód pro autentizaci zprávy založený na hashovací funkci a tajném klíči.
Rozdíl oproti SHA-256
Samotné SHA-256 neobsahuje tajný klíč. HMAC-SHA256 vyžaduje sdílený klíč a používá se pro podpisy.
Typické případy použití
Podepisování API požadavků, ověřování webhooků a kontrola integrity tokenů.