Online-HMAC-Berechnung
Berechnungsinformationen
HMAC mit 8 Hash-Algorithmen erzeugen und prüfen, Schlüssel und Nachrichten in drei Kodierungen, Vergleich in konstanter Zeit
Online-HMAC-Berechnung
HMAC ist ein schlüsselbasierter Hash-Nachrichten-Authentifizierungscode: Dieselbe Nachricht erzeugt mit unterschiedlichen Schlüsseln völlig unterschiedliche Ergebnisse. Dadurch lässt sich sowohl prüfen, ob Daten verändert wurden, als auch bestätigen, dass die Nachricht von einer Partei mit dem entsprechenden Schlüssel stammt. API-Signaturen, Webhook-Callback-Prüfungen und der Schutz von Download-URLs vor Manipulation verwenden HMAC.
Kernfunktionen
- HMAC erzeugen: Nachricht und Schlüssel eingeben, Hash-Algorithmus auswählen und den Authentifizierungscode erzeugen.
- HMAC prüfen: Den erwarteten Wert der Gegenstelle einfügen und mit dem lokalen Ergebnis vergleichen, mit eindeutiger Anzeige von Übereinstimmung oder Abweichung.
- Zufälliger Schlüssel: Mit dem sicheren Zufallszahlengenerator des Browsers Schlüssel mit 16, 32 oder 64 Byte erzeugen; der Schlüssel kann ein- oder ausgeblendet werden.
- Häufige Beispiele: API-Signatur und Webhook-Prüfung sind als Beispiele integriert, um den Aufbau der Parameter schnell zu verstehen.
Unterstützte Algorithmen und Kodierungen
Unterstützt werden HMAC-SHA1, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 sowie HMAC-SHA3-224, SHA3-256, SHA3-384 und SHA3-512, insgesamt 8 Algorithmen. SHA1 wird als nicht empfohlen gekennzeichnet, standardmäßig wird SHA256 verwendet. Schlüssel und Nachricht können jeweils als UTF-8, Hex oder Base64 interpretiert werden, die Ausgabe ist als Hex oder Base64 möglich. Damit lassen sich die Anforderungen verschiedener API-Dokumentationen direkt abbilden.
Prüfung und Ergebnisinformationen
Der Prüfmodus verwendet einen Vergleich in konstanter Zeit, um Informationslecks durch unterschiedliche Vergleichsdauern zu vermeiden. Der Ergebnisbereich zeigt Digest-Länge, Nachrichtenlänge und Schlüssellänge und hilft dabei festzustellen, ob der Schlüssel abgeschnitten wurde oder zusätzliche Leerzeichen enthält. Die Seite weist außerdem darauf hin, dass JWT-Signaturen Base64URL verwenden, das sich bei Padding und zwei Zeichen von Standard-Base64 unterscheidet.
Fehlerbehandlung
Bei der Hex-Interpretation von Schlüssel oder Nachricht werden ungültige Zeichen oder eine ungerade Länge direkt angezeigt. Fehler beim Base64-Parsing werden ebenfalls eindeutig gemeldet, statt eine falsche Signatur zu erzeugen. Leere Nachrichten oder Schlüssel sowie ein fehlender erwarteter HMAC im Prüfmodus führen zunächst zu einem Hinweis zum Vervollständigen der Eingaben.
Anwendungsfälle
- Signaturen von Open-Platform-APIs debuggen und prüfen, ob die lokale Implementierung mit den Beispielen der Dokumentation übereinstimmt.
- Signaturen in Webhook-Request-Headern prüfen und feststellen, ob eine Anfrage manipuliert wurde.
- HMAC-Ergebnisse von Implementierungen in PHP, Java, Go, Node und anderen Sprachen vergleichen.
- Schnell zufällige Schlüssel für Testumgebungen erzeugen.
Datenschutz und Datensicherheit
Die gesamte HMAC-Berechnung erfolgt lokal im Browser. Es gibt keine serverseitige Berechnungs-API und Schlüssel sowie Nachrichten werden weder übertragen noch gespeichert. Trotzdem sollten Testschlüssel und keine echten Produktionsschlüssel verwendet werden.
HMAC-Nachrichten-Authentifizierung online erzeugen und prüfen
- Unterstützt 8 Algorithmen: HMAC-SHA1, SHA256, SHA384, SHA512 und SHA3-224/256/384/512
- Schlüssel und Nachrichten können jeweils als UTF-8, Hex oder Base64 interpretiert werden und eignen sich damit für verschiedene API-Dokumentationen
- Ausgabe als Hex oder Base64 mit Anzeige von Digest-, Nachrichten- und Schlüssellänge
- Der Browser kann zufällige Schlüssel mit 16, 32 oder 64 Byte erzeugen, mit Ein-/Ausblenden des Schlüssels
- Im Prüfmodus den erwarteten HMAC einfügen und per Vergleich in konstanter Zeit prüfen
- Integrierte Beispiele für API-Signaturen und Webhook-Prüfung sowie Hinweis auf die Base64URL-Abweichung von JWT