0

HMAC generatorius ir tikrintuvas

Generuokite ir patikrinkite HMAC pranešimų autentifikavimo kodus naudodami SHA-256, SHA-384, SHA-512 arba SHA-1 naudodami slaptą raktą, visiškai savo naršyklėje.

Buy Me a Coffee at ko-fi.com
Apdorojama... 0%
Importuojamas raktas
HMAC skaičiavimas
Atlikta

Rezultatas

HMAC (maišos pagrindu sukurtas pranešimų autentifikavimo kodas) yra raktų kriptografinė konstrukcija, sujungianti slaptą raktą su pranešimu per maišos funkciją, pvz., SHA-256. Skirtingai nuo paprasto maišos, kurią kiekvienas gali perskaičiuoti vien iš pranešimo, HMAC gali atkurti tik tas, kuris turi tą patį slaptąjį raktą – dėl to jis yra autentifikavimo kodas, o ne tik kontrolinė suma.

Tai yra esminis skirtumas nuo paprasto santraukos: mūsų pačių maišos generatoriaus įrankis apskaičiuoja be raktų maišą, pvz., MD5 arba SHA-256, kurios puikiai tinka atsitiktinai sugadinimui aptikti, tačiau nieko neįrodo, kas sukūrė duomenis, nes bet kas gali sukurti tą pačią maišą. HMAC įrodo ir vientisumą (pranešimas nebuvo pakeistas), ir autentiškumą (pasirašęs asmuo žinojo bendrą paslaptį), todėl HMAC yra standartinis API užklausos pasirašymo, JWT HS256/HS384/HS512 algoritmų ir TLS įrašo autentifikavimo blokas.

Dažniausias realaus naudojimo atvejis yra „Webhook“ parašų tikrinimas. Tokios paslaugos kaip „Stripe“, „GitHub“ ir „Shopify“ pasirašo kiekvieną „Webhook“ naudingą apkrovą su HMAC-SHA256 naudodamos jūsų sukonfigūruotą paslaptį ir siunčia gautą parašą užklausos antraštėje. Tikimasi, kad jūsų serveris perskaičiuos HMAC per neapdorotą naudingąją apkrovą naudodamas tą pačią paslaptį ir palygins ją su antraštės reikšme – jei jie sutampa, žinote, kad užklausa tikrai buvo iš tos paslaugos ir nebuvo sugadinta perduodant. Šio įrankio tikrinimo režimas atkuria būtent tą patikrinimą: įklijuokite naudingą apkrovą, bendrinamą paslaptį ir gautą parašą ir iškart gaukite atitiktį arba neatitikimą.

Viskas veikia vietoje per naršyklės savąją žiniatinklio kriptovaliutų API (crypto.subtle.importKey ir crypto.subtle.sign), todėl slaptasis raktas, pranešimo turinys ir gautas parašas niekada nepalieka jūsų kompiuterio – niekas neįkeliamas į jokį serverį, o tai svarbu, nes HMAC paslaptys yra būtent tokia vertė, kurios niekada neturėtumėte įklijuoti į atsitiktinį internetinį įrankį, kuris galėtų prisijungti.