Security
Sign messages with HMAC-SHA256/384/512 — hex and base64 signatures, keyed by your secret.
Signing runs locally via your browser's Web Crypto API. Your key and message never leave the page.
An HMAC proves that a message both came from someone holding the shared secret and was not modified in transit. That is exactly what webhook providers (Stripe, GitHub, Shopify) verify on every delivery, and what you should verify on receipt. A bare hash like SHA-256 only proves integrity against accidental change — anyone can recompute it.
Need a strong secret first? Generate one with the Random Token Generator. Working with signed JWTs instead? Inspect them with the JWT Decoder.
Reproduce the X-Signature header your webhook receiver should compute for a test payload.
Generate the request signature required by custom API auth schemes.
Decode JWT header and payload locally, then run security checks: weak algorithms, expiry, risky claims.
Generate strong random passwords with crypto.getRandomValues — pick length and character sets.
Generate cryptographically secure random tokens in hex, base64, or URL-safe base64.
Generate Apache/Nginx .htpasswd entries with bcrypt or {SHA} schemes — fully client-side.
Looking for something else? Browse all tools