Hashes/Krypto
HMAC Generator
HMAC (Hash-based Message Authentication Code) von Text oder einer Datei mit einem geheimen Schlüssel berechnen — mit acht Algorithmen gleichzeitig: MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160.
HMAC (Hash-based Message Authentication Code) is a hash computed together with a secret key, proving a message hasn't changed and was sent by someone who knows that key. Unlike a plain hash, an HMAC can't be forged without knowing the secret.
How to use it
- Enter text or a file and a secret key — the HMAC is computed instantly with eight algorithms at once (MD5, SHA-1, SHA-2, SHA3, RIPEMD-160).
- Copy the variant you need to verify a signature or compare against an expected value.
- The same input and key always produce the same HMAC — handy for checking against a signature received from another system.
Common uses
- Verifying a webhook signature from a payment service or API (most sign the payload with HMAC-SHA256).
- Generating a request signature for an API that requires HMAC authentication.
- Debugging a mismatched signature — checking the key, input encoding, and algorithm one at a time.
Things to keep in mind
HMAC protects against tampering and confirms the sender's authenticity, but it doesn't encrypt the message itself — the content stays readable.
A mismatched HMAC is most often caused by different data encoding (e.g. JSON field order) or a stray whitespace or line break, not by a bug in the algorithm itself.
Häufig gestellte Fragen
Was ist der Unterschied zwischen HMAC und einem einfachen Hash?
Ein einfacher Hash beweist nur, dass Daten nicht verändert wurden; HMAC verwendet zusätzlich einen geheimen Schlüssel, sodass er sowohl Integrität als auch beweist, dass der Absender das gemeinsame Geheimnis kannte — ohne den Schlüssel kann niemand einen gültigen HMAC erzeugen, selbst wenn er den Algorithmus kennt.
Welchen Hash-Algorithmus sollte ich für HMAC wählen?
HMAC-SHA256 ist ein solider moderner Standard. Ältere Optionen wie HMAC-MD5 oder HMAC-SHA1 sind als HMAC speziell noch nicht gebrochen, aber für neue Systeme wird SHA-256 oder stärker empfohlen.
Wird mein geheimer Schlüssel irgendwohin gesendet?
Nein. Der HMAC wird vollständig in Ihrem Browser über die Web Crypto API berechnet — Schlüssel und Nachricht verlassen Ihr Gerät nie.
Warum darf man HMAC nicht mit dem gewöhnlichen Gleichheitsoperator vergleichen?
Ein gewöhnlicher Zeichenkettenvergleich bricht bei der ersten Abweichung ab, und die Ausführungszeit verrät einem Angreifer, wie viele der ersten Zeichen er richtig erraten hat (Timing Attack). Nötig sind Vergleichsfunktionen in konstanter Zeit, etwa hash_equals in PHP.
Kann derselbe Schlüssel für mehrere verschiedene Zwecke verwendet werden?
Das wird nicht empfohlen. Wird derselbe geheime Schlüssel sowohl zum Signieren von Webhooks als auch für einen anderen Zweck verwendet, kompromittiert die Kompromittierung eines Systems automatisch das andere — für jeden einzelnen Zweck sollte ein eigener Schlüssel erzeugt werden.