Generator in preverjevalnik HMAC
Ustvarite in preverite HMAC kode za preverjanje pristnosti sporočil s SHA-256, SHA-384, SHA-512 ali SHA-1 z uporabo skrivnega ključa, vse v vašem brskalniku.
🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.
Rezultat
HMAC (Hash-based Message Authentication Code) je kriptografski konstrukt s ključem, ki združi skrivni ključ s sporočilom prek zgoščevalne funkcije, kot je SHA-256. Za razliko od navadnega zgoščevanja, ki ga lahko vsakdo ponovno izračuna iz sporočila samega, je mogoče HMAC ponoviti le, če poznamo isti skrivni ključ – zato gre za kodo za preverjanje pristnosti in ne zgolj za kontrolno vsoto.
To je temeljna razlika od navadnega izvlečka: naše orodje Hash Generator izračuna zgoščene vrednosti brez ključa, kot sta MD5 ali SHA-256, ki so odlični za odkrivanje naključnega popačenja, vendar ne povedo ničesar o izvoru podatkov, saj lahko vsakdo ustvari enako zgoščeno vrednost. HMAC dokazuje tako celovitost (sporočilo ni bilo spremenjeno) kot pristnost (podpisnik je poznal skupni skrivni ključ), zato je HMAC standardni gradnik za podpisovanje zahtevkov API, algoritme HS256/HS384/HS512 v JWT in avtentikacijo zapisov v TLS.
Najpogostejši primer uporabe v praksi je preverjanje podpisov spletnih klicev. Storitve, kot so Stripe, GitHub in Shopify, vsak spletni klic podpišejo s HMAC-SHA256 z uporabo skrivnega ključa, ki ga nastavite vi, in dobljeni podpis pošljejo v glavi zahtevka. Vaš strežnik naj bi nato ponovno izračunal HMAC za surovi payload z istim skrivnim ključem in ga primerjal z vrednostjo v glavi – če se ujemata, veste, da je zahtevek res prišel od te storitve in da med prenosom ni bil spremenjen. Način preverjanja tega orodja natančno poustvari to preverjanje: prilepite payload, skupni skrivni ključ in prejeti podpis ter takoj prejmete informacijo o ujemanju ali neujemanju.
Vse se izvaja lokalno prek brskalnikovega izvornega Web Crypto API (crypto.subtle.importKey in crypto.subtle.sign), tako da skrivni ključ, vsebina sporočila in nastali podpis nikoli ne zapustijo vaše naprave – nič se ne naloži na noben strežnik, to pa je pomembno, saj so skrivni ključi HMAC ravno tiste vrste podatki, ki jih nikakor ne smete prilepiti v naključno spletno orodje, ki bi jih lahko zabeležilo.