HMAC generaator ja kinnitaja
Genereeri ja kinnita HMAC sõnumiautentimiskoode koos SHA-256, SHA-384, SHA-512 või SHA-1ga, kasutades salajast võtit, kõik sinu brauseris.
🔒 Töödeldud täielikult teie brauseris – midagi, mida siia sisestate, ei laadita kunagi üles.
Tulemus
HMAC (räsipõhine sõnumiautentimiskood) on võtmega krüptograafiline konstruktsioon, mis ühendab salajase võtme sõnumiga räsifunktsiooni, näiteks SHA-256, kaudu. Erinevalt tavalisest räsist, mida igaüks saab sõnumi põhjal uuesti arvutada, saab HMAC-i korrata ainult see, kellel on sama salajane võti — see teebki sellest autentimiskoodi, mitte lihtsalt kontrollsumma.
See on põhimõtteline erinevus tavalisest sõnumilühendist: meie enda räsigeneraatori tööriist arvutab võtmeta räsisid nagu MD5 või SHA-256, mis sobivad hästi juhuslike andmekadude tuvastamiseks, kuid ei tõesta midagi selle kohta, kes andmed tootis, sest igaüks võib sama räsi genereerida. HMAC tõestab nii terviklust (sõnumit pole muudetud) kui ka autentsust (allkirjastaja teadis jagatud saladust), mistõttu on HMAC standardne ehituskivi API päringute allkirjastamise, JWT HS256/HS384/HS512 algoritmide ja TLS kirjete autentimise taga.
Kõige levinum reaalne kasutusjuht on veebihaagi allkirjade kontrollimine. Teenused nagu Stripe, GitHub ja Shopify allkirjastavad iga veebihaagi päringu HMAC-SHA256-ga, kasutades sinu määratud saladust, ja saadavad saadud allkirja päringu päises. Sinu server peaks arvutama HMAC-i toore päringu sisu ja sama saladusega ning võrdlema seda päise väärtusega — kui need klapivad, tead, et päring tuli tõepoolest sellest teenusest ja seda pole edastamise ajal rikutud. Selle tööriista kinnitamise režiim teeb täpselt sedasama kontrolli järele: kleebi päringu sisu, jagatud saladus ja saadud allkiri ning saad kohe teada, kas need klapivad või mitte.
Kõik töötab kohapeal, kasutades brauseri sisseehitatud Web Crypto API-t (crypto.subtle.importKey ja crypto.subtle.sign), nii et salajane võti, sõnumi sisu ja tulemuseks olev allkiri ei lahku kunagi sinu arvutist — midagi ei laadita üles ühelegi serverile, mis on oluline, sest HMAC saladused on just sellised väärtused, mida ei tohiks kunagi kleepida suvalisse veebitööriista, mis võib seda logida.