0

HMAC-generator en -verificatie

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

🔒 Wordt volledig in uw browser verwerkt. Niets wat u hier invoert, wordt ooit geüpload.

Verwerken... 0%
Sleutel importeren
HMAC berekenen
Klaar

Resultaat

Een HMAC (Hash-based Message Authentication Code) is een cryptografische constructie met sleutel die een geheime sleutel combineert met een bericht via een hashfunctie zoals SHA-256. In tegenstelling tot een gewone hash, die iedereen kan herberekenen uit alleen het bericht, kan een HMAC alleen worden gereproduceerd door iemand die dezelfde geheime sleutel bezit — dat maakt het een authenticatiecode in plaats van alleen een controlesom.

Dit is het fundamentele verschil met een gewone digest: onze eigen Hash Generator-tool berekent hashes zonder sleutel zoals MD5 of SHA-256, die geweldig zijn om onbedoelde corruptie te detecteren maar niets bewijzen over wie de data 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), en daarom is HMAC de standaard bouwsteen achter API-requestondertekening, de HS256/HS384/HS512-algoritmen van JWT en TLS-recordauthenticatie.

Het meest voorkomende gebruik in de praktijk is het verifiëren van webhook-handtekeningen. Diensten als Stripe, GitHub en Shopify ondertekenen elke webhook-payload met HMAC-SHA256 met een geheim dat jij configureert, en sturen de resulterende handtekening in een requestheader. Jouw server wordt geacht de HMAC over de ruwe payload opnieuw te berekenen met hetzelfde geheim en deze te vergelijken met de headerwaarde — als ze overeenkomen, weet je dat het verzoek echt van die dienst afkomstig is en onderweg niet is gemanipuleerd. De verifieermodus van deze tool voert precies die controle uit: plak de payload, het gedeelde geheim en de ontvangen handtekening, en krijg direct een match of mismatch.

Alles draait lokaal via de native Web Crypto API (crypto.subtle.importKey en crypto.subtle.sign) van de browser, dus de geheime sleutel, de berichtinhoud en de resulterende handtekening verlaten nooit je machine — er wordt niets geüpload naar welke server dan ook, en dat is belangrijk omdat HMAC-geheimen precies het soort waarde zijn dat je nooit in een willekeurige online tool zou moeten plakken die het zou kunnen loggen.