0

HMAC-generaattori ja -vahvistin

Luo ja vahvista HMAC-todennuskoodeja SHA-256:lla, SHA-384:llä, SHA-512:lla tai SHA-1:llä salaisella avaimella täysin selaimessasi.

🔒 Käsitelty kokonaan selaimessasi – mitään tähän kirjoittamaasi ei koskaan ladata.

Käsitellään... 0%
Tuodaan avainta
Lasketaan HMAC
Valmis

Tulos

HMAC (Hash-based Message Authentication Code) on avainkryptografinen rakenne, joka yhdistää salaisen avaimen viestiin hajautusfunktion, kuten SHA-256:n, kautta. Toisin kuin tavallinen hajautus, jonka kuka tahansa voi laskea pelkästä viestistä, HMAC:n voi toisintaa ainoastaan sama salainen avain hallussaan oleva taho — tämä tekee siitä todennuskoodin, ei pelkkää tarkistussummaa.

Tämä on perustava ero tavalliseen tiivisteeseen verrattuna: oma Hash Generator -työkalumme laskee avaimettomia tiivisteitä, kuten MD5:ttä tai SHA-256:ta, jotka soveltuvat erinomaisesti tahattomien korruptioiden havaitsemiseen, mutta eivät todista mitään datan tuottajasta, koska kuka tahansa voi generoida saman tiivisteen. HMAC todistaa sekä eheyden (viestiä ei muutettu) että aitouden (allekirjoittaja tunsi jaetun salaisuuden). Tämän vuoksi HMAC on vakiorakenne API-pyyntöjen allekirjoittamisen, JWT:n HS256/HS384/HS512-algoritmien ja TLS-yhteyksien tunnisteiden todentamisen taustalla.

Yleisin tosielämän käyttötapaus on webhook-allekirjoitusten vahvistaminen. Palvelut kuten Stripe, GitHub ja Shopify allekirjoittavat jokaisen webhook-sisällön HMAC-SHA256:lla käyttäen määrittelemääsi salaisuutta ja lähettävät tuloksena olevan allekirjoituksen pyynnön otsakkeessa. Palvelimesi odotetaan laskevan HMAC uudelleen raa'alle sisällölle samalla salaisuudella ja vertaavan sitä otsakkeen arvoon — jos ne täsmäävät, tiedät pyynnön tulleen aidosti kyseiseltä palvelulta eikä sitä ole muutettu siirron aikana. Tämän työkalun vahvistustila toteuttaa tarkalleen tuon tarkistuksen: liitä sisältö, jaettu salaisuus ja vastaanotettu allekirjoitus, niin saat heti täsmää tai ei täsmää -tuloksen.

Kaikki suoritetaan paikallisesti selaimen natiivin Web Crypto -rajapinnan (crypto.subtle.importKey ja crypto.subtle.sign) kautta, joten salainen avain, viestirunko ja tuloksena oleva allekirjoitus eivät koskaan poistu koneeltasi — mitään ei lähetetä millekään palvelimelle. Tämä on tärkeää, sillä HMAC-salaisuudet ovat juuri sellaisia arvoja, joita ei koskaan pitäisi liittää satunnaiseen verkkotyökaluun, joka voisi lokittaa ne.