Preskoči na vsebino
TextArray
100% lokalno

HMAC generator

Izračunajte podpise HMAC-SHA256, SHA-1, SHA-384 ali SHA-512 s skrivnim ključem.

Vhod

HMAC generator

HMAC je zgoščena vrednost s ključem: sporočilo in skrivni ključ gresta skupaj in samo nekdo, ki ima isti ključ, lahko reproducira ali preveri rezultat. To je tisto, kar uporabljajo ponudniki API-jev za podpisovanje zahtev in kar pošiljatelji webhookov, kot so plačilne platforme in storitve gostovanja kode, priložijo vsaki dostavi, tako da lahko prejemnik dokaže, da je tovor resnično prišel od njih in ni bil spremenjen med prevozom.

Vnesite skrivni ključ, izberite algoritem, ki ga uporablja druga stran – SHA-256 je velika privzeta vrednost – in prilepite sporočilo. Izvleček je prikazan kot šestnajstiški z malimi črkami ali kot Base64, kar ustreza obema formatoma, v katerih se izmenjujeta podpisa. Vklopite HMAC na vrstico, da podpišete vsako vhodno vrstico posebej, kar ustreza stolpcu žetonov ali ID-jev. Razvijalci posegajo po tem, ko odpravljajo napake v upravljalniku webhook, ki zavrača podpise, reproducirajo primer dokumentacije ali generirajo testni vektor za test enote.

Tako ključ kot sporočilo sta vzeta kot bajti UTF-8, natanko tako kot večina strežniških SDK-jev. Če se vaš rezultat ne ujema z drugo stranjo, so vzrok skoraj vedno bajti, ne matematika: končna nova vrstica v obremenitvi, konci vrstic CRLF, šestnajstiški izhod v primerjavi z Base64 ali ključ, ki ga storitev posreduje v Base64 ali šestnajstiškem kodiranju in pričakuje, da bo dekodiran pred uporabo.

Polje ključa je zamaskirano in se namerno nikoli ne zapiše v pomnilnik vašega brskalnika. Vse teče lokalno prek WebCrypto, vgrajenega v brskalnik – prilepitev podpisne skrivnosti v spletno orodje HMAC jo običajno preda temu strežniku, tukaj pa nikoli ne zapusti vaše naprave.

FAQ

Za kaj se uporablja HMAC?
Dokazovanje, da sporočilo prihaja od nekoga, ki ima skupno skrivnost in ni bilo med potjo spremenjeno. Tipične uporabe: podpisovanje zahtev API-ja, preverjanje dostav webhookov iz plačilnih in gostiteljskih platform ter podpisovanje žetonov. Sprejemnik ponovno izračuna HMAC z istim ključem in ga primerja.
Kako se HMAC razlikuje od navadnega hasha?
Navadni SHA-256 sporočila lahko izračuna vsak, tako da ne dokazuje ničesar o pošiljatelju. HMAC v izračun vmeša skrivni ključ na način, ki je odporen na poseganje – brez ključa ne morete niti ponarediti veljavnega podpisa niti ga preveriti. To je tudi razlog, zakaj HMAC-SHA1 ostaja sprejemljiv v praksi, čeprav je navaden SHA-1 pokvarjen zaradi kolizij, čeprav bi morale nove zasnove še vedno izbrati SHA-256.
Zakaj se moj HMAC ne ujema s tistim, ki ga pošlje strežnik?
Skoraj vedno se bajti razlikujejo. Preverite končno novo vrstico v obremenitvi, končnice vrstic CRLF v primerjavi z LF, šestnajstiško primerjavo z Base64 in obliko ključa – številne storitve vam predajo skrivno Base64- ali šestnajstiško kodiranje in pričakujejo dekodirane bajte kot ključ. To orodje uporablja ključ natančno tako, kot je vnesen, kot UTF-8.
Ali lahko nekdo obnovi moj ključ iz HMAC?
Noben praktični napad ne povrne ključa iz prebav. Toda vsak, ki ima ključ, lahko podpiše poljubna sporočila, zato obravnavajte skrivnosti podpisovanja kot gesla: zavrtite skrivnost webhooka, če je morda pricurljala, in je nikoli ne zadajte v repozitorij.
Ali sta moj ključ in besedilo kje naložena?
Ne. HMAC izračuna WebCrypto, vgrajen v vaš brskalnik, ključno polje se nikoli ne zapiše v shrambo in ne ključ ne besedilo nikoli ne zapusti vaše naprave.