Free Tool Β· Client-Side Only

HMAC Generator
& Verifier.

Generate and verify HMAC-SHA256/384/512 signatures. Perfect for debugging webhook signatures, API request signing, and data integrity checks.

✍️

Generate HMAC

⚠️ Key is fewer than 16 characters β€” use a longer, random key for production.
β€”
βœ…

Verify Signature

Uses the same message and key from the generator above. Paste the expected signature to compare.

βœ… Signatures match β€” integrity verified
❌ Signatures do NOT match β€” payload may have been tampered with
πŸ“–

Common Use Cases

πŸ™ GitHub Webhook Verification
// Header: X-Hub-Signature-256: sha256=<hex> // Algorithm: HMAC-SHA256, key = your webhook secret // Message: raw request body (bytes, not parsed JSON) const sig = 'sha256=' + hmacSHA256(body, secret) if (!timingSafeEqual(sig, req.headers['x-hub-signature-256'])) throw new Error('Invalid')
πŸ’³ Stripe Webhook Verification
// Header: Stripe-Signature: t=<ts>,v1=<hex> // Signed payload: timestamp + '.' + rawBody // Algorithm: HMAC-SHA256, key = endpoint signing secret const payload = timestamp + '.' + rawBody const expected = hmacSHA256(payload, stripeSecret)
πŸ”‘ API Request Signing
// Common pattern: sign method + path + timestamp + body hash const canonicalReq = method + '\n' + path + '\n' + timestamp + '\n' + sha256(body) const signature = hmacSHA256(canonicalReq, apiSecret) // Send in header: Authorization: HMAC-SHA256 sig=<hex>,ts=<timestamp>
AquilaX Platform

Detect missing HMAC validation
in your codebase.

AquilaX detects missing webhook signature validation, weak signing keys, and insecure HMAC implementations across your entire codebase.