Preskočiť na obsah
TextArray
100% lokálne

Generátor HMAC

Vypočítajte podpisy HMAC-SHA256, SHA-1, SHA-384 alebo SHA-512 s tajným kľúčom.

Vstup
Výstup

Generátor HMAC

HMAC je hash s kľúčom: správa a tajný kľúč vstupujú do výpočtu spolu a zopakovať či overiť výsledok dokáže len ten, kto má rovnaký kľúč. Presne tým podpisujú poskytovatelia API svoje požiadavky a odosielatelia webhookov — platobné platformy či služby na hosting kódu — každú doručenú správu, aby príjemca vedel dokázať, že náklad naozaj prišiel od nich a cestou sa nezmenil.

Zadajte tajný kľúč, vyberte algoritmus, ktorý používa druhá strana — drvivou predvoľbou je SHA-256 — a vložte správu. Výsledok sa zobrazí ako malé hex znaky alebo ako Base64, teda v dvoch formátoch, v ktorých sa podpisy vymieňajú. Zapnite HMAC pre každý riadok a každý vstupný riadok sa podpíše samostatne, čo sa hodí na stĺpec tokenov či identifikátorov. Vývojári po nástroji siahajú pri ladení webhook handlera, ktorý odmieta podpisy, pri reprodukovaní príkladu z dokumentácie alebo pri výrobe testovacieho vektora do unit testu.

Kľúč aj správa sa berú ako UTF-8 bajty, presne ako vo väčšine serverových SDK. Keď sa váš výsledok nezhoduje s druhou stranou, príčinou sú takmer vždy bajty, nie matematika: znak nového riadku na konci nákladu, konce riadkov CRLF, hex porovnaný s Base64, alebo kľúč, ktorý služba vydáva zakódovaný v Base64 či hex a pred použitím ho očakáva dekódovaný.

Pole kľúča je maskované a zámerne sa nikdy nezapisuje do úložiska prehliadača. Všetko beží lokálne cez vstavané WebCrypto — vložením podpisového tajomstva do online HMAC nástroja ho bežne odovzdáte cudziemu serveru, tu však nikdy neopustí vaše zariadenie.

Časté otázky

Na čo sa HMAC používa?
Na dôkaz, že správa pochádza od niekoho s zdieľaným tajomstvom a cestou sa nezmenila. Typické použitia: podpisovanie API požiadaviek, overovanie webhookov od platobných a hostingových platforiem a podpisovanie tokenov. Príjemca HMAC prepočíta s rovnakým kľúčom a porovná.
Čím sa HMAC líši od obyčajného hashu?
Obyčajné SHA-256 správy si spočíta ktokoľvek, o odosielateľovi teda nedokazuje nič. HMAC primieša do výpočtu tajný kľúč spôsobom odolným voči manipulácii — bez kľúča sa platný podpis nedá sfalšovať ani overiť. Aj preto ostáva HMAC-SHA1 v praxi prijateľné, hoci samotné SHA-1 je prelomené na kolízie; nové návrhy by však mali voliť SHA-256.
Prečo sa môj HMAC nezhoduje s tým zo servera?
Takmer vždy sa líšia bajty. Skontrolujte znak nového riadku na konci nákladu, konce riadkov CRLF verzus LF, hex porovnaný s Base64 a formát kľúča — mnohé služby vydávajú tajomstvo zakódované v Base64 či hex a ako kľúč očakávajú dekódované bajty. Tento nástroj použije kľúč presne tak, ako je napísaný, v UTF-8.
Dá sa z HMAC získať môj kľúč?
Žiadny praktický útok kľúč z podpisov nezíska. Ktokoľvek s kľúčom však vie podpísať ľubovoľnú správu, takže s podpisovými tajomstvami zaobchádzajte ako s heslami: tajomstvo webhooku po možnom úniku vymeňte a nikdy ho neukladajte do repozitára.
Nahráva sa môj kľúč alebo text niekam?
Nie. HMAC počíta vstavané WebCrypto vášho prehliadača, pole kľúča sa nikdy nezapisuje do úložiska a kľúč ani text nikdy neopustia vaše zariadenie.