Läuft vollständig in deinem Browser: Eingabe, HMAC-Schlüssel und erwarteter Hash verlassen dieses Gerät nicht.
Was HMAC zu einem einfachen Hash hinzufügt
Ein HMAC (schlüsselbasierter Nachrichtenauthentifizierungscode) mischt einen geheimen Schlüssel in den Hashvorgang. Während der SHA-256 einer Nachricht nur beweist, dass sich die Bytes nicht geändert haben, beweist ein HMAC zusätzlich, dass sein Erzeuger den gemeinsamen Schlüssel kannte — so kann ein Server darauf vertrauen, dass ein eingehender Webhook wirklich vom erwarteten Absender stammt. Mit dem Schlüssel key und der Nachricht The quick brown fox jumps over the lazy dog liefert HMAC-SHA256 f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8.
Ein reiner Hash genügt für Authentifizierung nicht: SHA-256 kann jeder neu berechnen, ein Angreifer könnte also einen Digest fälschen. HMAC ist darauf ausgelegt, dem zu widerstehen, auch den Längen-Erweiterungsangriffen, die naive hash(geheim + nachricht)-Schemata brechen. Nutze HMAC-SHA256, um API-Anfragen zu signieren, Webhooks zu prüfen (Stripe, GitHub, Slack) und nachrichtenbezogene Tokens abzuleiten. Der Schlüssel muss geheim bleiben und lang und zufällig sein.
So berechnest du einen HMAC
- Wähle den HMAC-Algorithmus: SHA-1, SHA-256 oder SHA-512.
- Gib den geheimen Schlüssel in das maskierte Schlüsselfeld ein.
- Tippe oder füge die zu authentifizierende Nachricht ein.
- Vergleiche die Signatur mit der, die dein Server erhält.
Häufige Fragen zu HMAC
Warum braucht HMAC einen Schlüssel?
Der Schlüssel macht aus einem öffentlichen Fingerabdruck einen Authentifizierungsnachweis: Nur Parteien, die das Geheimnis teilen, können einen passenden MAC erzeugen.
HMAC-SHA1 oder HMAC-SHA256?
HMAC-SHA256 ist der moderne Standard für Webhooks und Request-Signierung. HMAC-SHA1 erscheint noch in älteren Protokollen und ist bei Kompatibilitätsbedarf akzeptabel.
Ist HMAC Verschlüsselung?
Nein. Es verbirgt die Nachricht nicht — es belegt nur Integrität und Authentizität. Für Vertraulichkeit separat verschlüsseln.
Läuft vollständig in deinem Browser: Eingabe, HMAC-Schlüssel und erwarteter Hash verlassen dieses Gerät nicht.
