0

HMAC-generator en -verificateur

Genereer en verifieer HMAC-berichtauthenticatiecodes met SHA-256, SHA-384, SHA-512 of SHA-1 met behulp van een geheime sleutel, volledig in uw browser.

Buy Me a Coffee at ko-fi.com
Verwerken... 0%
Sleutel importeren
Computer-HMAC
Klaar

Resultaat

Een HMAC (Hash-based Message Authentication Code) is een gecodeerde cryptografische constructie die een geheime sleutel combineert met een bericht via een hash-functie zoals SHA-256. In tegenstelling tot een eenvoudige hash, die iedereen alleen op basis van het bericht kan herberekenen, kan een HMAC alleen worden gereproduceerd door iemand die dezelfde geheime sleutel bezit. Dat maakt het tot een authenticatiecode in plaats van slechts een controlesom.

Dit is het fundamentele verschil met een eenvoudig overzicht: onze eigen Hash Generator-tool berekent ongesleutelde hashes zoals MD5 of SHA-256, die geweldig zijn voor het detecteren van onbedoelde corruptie, maar niets bewijzen over wie de gegevens heeft geproduceerd, aangezien iedereen dezelfde hash kan genereren. Een HMAC bewijst zowel integriteit (het bericht is niet gewijzigd) als authenticiteit (de ondertekenaar kende het gedeelde geheim). Daarom is HMAC de standaardbouwsteen achter het ondertekenen van API-verzoeken, de HS256/HS384/HS512-algoritmen van JWT en TLS-recordauthenticatie.

De meest voorkomende praktijksituatie is het verifiëren van webhookhandtekeningen. Services zoals Stripe, GitHub en Shopify ondertekenen elke webhook-payload met HMAC-SHA256 met behulp van een geheim dat u configureert, en verzenden de resulterende handtekening in een verzoekheader. Er wordt van uw server verwacht dat hij de HMAC opnieuw berekent over de onbewerkte payload met hetzelfde geheim en deze vergelijkt met de headerwaarde. Als deze overeenkomen, weet u dat het verzoek echt van die service afkomstig is en dat er tijdens de overdracht niet mee is geknoeid. De verificatiemodus van deze tool reproduceert precies die controle: plak de payload, het gedeelde geheim en de ontvangen handtekening, en krijg direct een match of mismatch.

Alles loopt lokaal via de eigen Web Crypto API van de browser (crypto.subtle.importKey en crypto.subtle.sign), dus de geheime sleutel, de berichttekst en de resulterende handtekening verlaten uw machine nooit. Er wordt niets naar een server geüpload, wat ertoe doet, omdat HMAC-geheimen precies het soort waarde zijn dat u nooit in een willekeurige online tool mag plakken die deze kan loggen.