0

HMAC Generatorius ir Tikrintuvas

Generuokite ir tikrinkite HMAC pranešimų autentifikavimo kodus naudodami SHA-256, SHA-384, SHA-512 arba SHA-1 ir slaptąjį raktą – visa tai tik jūsų naršyklėje.

🔒 Visiškai apdorojama jūsų naršyklėje – niekas, kurį čia įvedėte, niekada neįkeliama.

Apdorojama... 0%
Importuojamas raktas
Skaičiuojamas HMAC
Atlikta

Rezultatas

HMAC (angl. Hash-based Message Authentication Code) yra raktinė kriptografinė konstrukcija, sujungianti slaptąjį raktą su pranešimu per tokią maišos funkciją kaip SHA-256. Skirtingai nei paprasta maiša, kurią kiekvienas gali perskaičiuoti vien iš pranešimo, HMAC gali atkurti tik tas, kas turi tą patį slaptąjį raktą – todėl tai yra autentifikavimo kodas, o ne tik kontrolinė suma.

Tai esminis skirtumas nuo paprastos santraukos: mūsų Maišos generatoriaus įrankis apskaičiuoja beraktes maišas, kaip MD5 ar SHA-256, kurios puikiai tinka atsitiktinėms klaidoms aptikti, bet nieko nesako apie tai, kas sukūrė duomenis, nes tą pačią maišą gali sugeneruoti bet kas. HMAC įrodo ir vientisumą (pranešimas nebuvo pakeistas), ir autentiškumą (pasirašiusysis žinojo bendrą paslaptį), todėl HMAC yra standartinis API užklausų pasirašymo, JWT HS256/HS384/HS512 algoritmų ir TLS įrašų autentifikavimo pagrindas.

Dažniausias naudojimo atvejis realiame pasaulyje yra webhook parašų tikrinimas. Tokios paslaugos kaip Stripe, GitHub ir Shopify kiekvieną webhook užklausą pasirašo HMAC-SHA256, naudodamos jūsų nustatytą slaptąjį raktą, ir gautą parašą pateikia užklausos antraštėje. Jūsų serveris turėtų iš naujo apskaičiuoti HMAC iš neapdoroto užklausos turinio su tuo pačiu slaptuoju raktu ir palyginti jį su antraštės reikšme – jei jie sutampa, žinote, kad užklausa tikrai atėjo iš tos paslaugos ir nebuvo pakeista perdavimo metu. Šio įrankio tikrinimo režimas atkuria būtent šį patikrinimą: įklijuokite užklausos turinį, bendrą slaptąjį raktą ir gautą parašą – ir iškart pamatysite, ar jie sutampa.

Viskas veikia vietoje, naudojant naršyklės Web Crypto API (crypto.subtle.importKey ir crypto.subtle.sign), todėl slaptasis raktas, pranešimo turinys ir gautas parašas niekada nepalieka jūsų įrenginio – niekas nesiunčiama į jokį serverį, o tai svarbu, nes HMAC paslaptys yra būtent tos reikšmės, kurių niekada nereikėtų įklijuoti į atsitiktinius internetinius įrankius, galinčius jas įrašyti.