HMAC-Generator: HMAC-SHA-256 & HMAC-SHA-512 erzeugen
Erzeuge HMAC-SHA-256- oder HMAC-SHA-512-Signaturen aus einem geheimen Schlüssel und einer Nachricht über die Web Crypto API. Vollständig clientseitig — dein Schlüssel und deine Nachricht verlassen den Browser nie.
So verwendest du dieses Werkzeug
- Enter your secret key and the message you want to sign.
- Pick HMAC-SHA-256 or HMAC-SHA-512.
- Copy the resulting authentication code, computed locally with the Web Crypto API.
Your key and message never leave the browser. HMAC is computed entirely client-side using the Web Crypto API.
Über HMAC-Generator
HMAC steht für Keyed-Hash Message Authentication Code und ist ein Verfahren, das einen geheimen Schlüssel mit einer Nachricht kombiniert, um einen Authentifizierungscode zu erzeugen. Anders als ein einfacher Hash, den jeder berechnen kann, lässt sich ein gültiger HMAC nur erzeugen oder überprüfen, wenn man den geheimen Schlüssel kennt. Das macht HMAC zum Standardwerkzeug, um sowohl die Integrität als auch die Echtheit einer Nachricht zu belegen: Empfänger können prüfen, dass eine Nachricht unverändert ist und tatsächlich von jemandem stammt, der denselben Schlüssel besitzt.
Dieses Werkzeug unterstützt HMAC-SHA-256 und HMAC-SHA-512, berechnet über die native Web Crypto API des Browsers. Du gibst deinen geheimen Schlüssel und deine Nachricht ein, wählst den Hash-Algorithmus, und das Werkzeug gibt die HMAC-Signatur als Hexadezimalwert aus. HMAC-SHA-256 ist die verbreitete Wahl für die meisten Anwendungen wie das Signieren von API-Anfragen und Webhooks; HMAC-SHA-512 erzeugt einen längeren Digest und kommt zum Einsatz, wo eine größere Ausgabe gewünscht ist.
Typische Einsatzfelder sind das Verifizieren von Webhook-Nutzlasten, das Signieren und Prüfen von API-Anfragen, das Erzeugen von Tokens und überall dort, wo zwei Seiten einen gemeinsamen geheimen Schlüssel teilen und sicherstellen müssen, dass eine Nachricht unterwegs nicht manipuliert wurde. Wichtig ist, dass die Sicherheit von HMAC vollständig von der Geheimhaltung des Schlüssels abhängt — wer den Schlüssel kennt, kann gültige Signaturen erzeugen. Die gesamte Berechnung läuft vollständig in deinem Browser über die Web Crypto API, sodass dein geheimer Schlüssel und deine Nachricht dein Gerät nie verlassen und an keinen Server gesendet werden.
Häufig gestellte Fragen
- Was ist der Unterschied zwischen HMAC und einem einfachen Hash?
- Ein einfacher Hash kann von jedem aus der Nachricht allein berechnet werden. Ein HMAC bindet zusätzlich einen geheimen Schlüssel ein, sodass nur jemand mit dem Schlüssel eine gültige Signatur erzeugen oder überprüfen kann. Dadurch belegt HMAC nicht nur die Integrität, sondern auch die Echtheit einer Nachricht.
- Welche Algorithmen werden unterstützt?
- HMAC-SHA-256 und HMAC-SHA-512, beide berechnet über die native Web Crypto API des Browsers. HMAC-SHA-256 ist die verbreitete Wahl für die meisten Anwendungen; HMAC-SHA-512 erzeugt einen längeren Digest für Fälle, in denen eine größere Ausgabe gewünscht ist.
- Wofür wird HMAC typischerweise verwendet?
- Zum Verifizieren von Webhook-Nutzlasten, zum Signieren und Prüfen von API-Anfragen, zum Erzeugen von Tokens und überall dort, wo zwei Seiten einen gemeinsamen geheimen Schlüssel teilen und sicherstellen müssen, dass eine Nachricht unterwegs nicht manipuliert wurde.
- Wie sicher ist mein geheimer Schlüssel?
- Die Sicherheit von HMAC hängt vollständig von der Geheimhaltung des Schlüssels ab — wer den Schlüssel kennt, kann gültige Signaturen erzeugen. Da die gesamte Berechnung in deinem Browser läuft, verlässt der Schlüssel dein Gerät nie, du musst ihn aber dennoch wie jedes andere Geheimnis sorgfältig schützen.
- In welchem Format wird die Signatur ausgegeben?
- Die HMAC-Signatur wird als Hexadezimalwert ausgegeben. Mit demselben Schlüssel, derselben Nachricht und demselben Algorithmus erhältst du immer dieselbe Signatur, was das Überprüfen auf der Gegenseite ermöglicht.
- Werden mein Schlüssel und meine Nachricht irgendwohin gesendet?
- Nein. Die gesamte Berechnung läuft vollständig in deinem Browser über die Web Crypto API. Dein geheimer Schlüssel und deine Nachricht verlassen dein Gerät nie und werden an keinen Server übertragen.