HMAC Generator
Generate HMAC signatures using SHA-256, SHA-384, or SHA-512
What is HMAC?
HMAC (Hash-based Message Authentication Code) verifies data integrity and authenticity using a secret key combined with a hash function.
Related Tools
Hash Generator
Generate SHA-1, SHA-256, SHA-384, SHA-512 hashes
Password Generator
Generate strong, secure random passwords
JWT Decoder
Decode and inspect JSON Web Tokens
Token / Secret Generator
Generate random tokens, API keys, and secrets in various formats
Bcrypt Hash Generator
Hash passwords with bcrypt and verify hashes
JSON Formatter
Beautify, minify, and validate JSON data
How to Use
Enter Your Values
Fill in the input fields with your numbers or parameters.
Get Instant Results
Results update automatically as you type — no submit button needed.
Copy or Save
Copy results to clipboard or use them in your workflow.
Why Use This Tool
100% Free
No hidden costs, no premium tiers — every feature is free.
No Installation
Runs entirely in your browser. No software to download or install.
Private & Secure
Your data never leaves your device. Nothing is uploaded to any server.
Works on Mobile
Fully responsive — use on your phone, tablet, or desktop.
HMAC: Hash-Based Message Authentication Codes
Key Takeaways
- HMAC combines a cryptographic hash function with a secret key to provide both data integrity and authentication.
- Unlike plain hashes, HMAC proves that the message was created by someone who knows the secret key — preventing tampering and forgery.
- All HMAC generation is performed in your browser using the Web Crypto API — your keys and data remain private.
HMAC (Hash-based Message Authentication Code) is a mechanism for verifying both the integrity and authenticity of a message. It is used extensively in API authentication (AWS Signature V4), webhook verification (GitHub, Stripe), and secure communication protocols. HMAC is more secure than simple hash verification because it requires knowledge of a shared secret key.
HMAC-SHA256 is used to authenticate over 1 billion API requests per day across major cloud platforms.
Scale of Use
Key Concepts
How HMAC Works
HMAC processes the key through two rounds of hashing with different padding (ipad and opad), making it resistant to length extension attacks that affect plain hash functions.
HMAC vs. Plain Hash
A plain hash (SHA-256 of a message) can be computed by anyone. HMAC requires the secret key, so only authorized parties can generate a valid MAC. This provides authentication in addition to integrity.
Webhook Signature Verification
Services like GitHub and Stripe sign webhook payloads with HMAC-SHA256 using a shared secret. The receiver recomputes the HMAC and compares it with the signature header to verify authenticity.
Timing-Safe Comparison
When verifying HMAC signatures, always use constant-time comparison functions to prevent timing attacks that could leak information about the expected value byte by byte.
Pro Tips
Use HMAC-SHA256 as your default — it offers an excellent balance of security and performance for most applications.
Keep HMAC keys at least as long as the hash output (32 bytes for SHA-256) for maximum security.
Rotate HMAC keys periodically and support multiple active keys during transition periods.
Never log or expose HMAC keys in error messages, URLs, or client-side code.
All HMAC computation is performed entirely in your browser using the Web Crypto API. Your secret keys and message data are never transmitted to any external server.