HMAC / MAC
Clientseitige Suite für schlüsselbasierte Nachrichten-Authentifizierungscodes mit Unterstützung für HMAC-SHA256, SHA512, SHA384, SHA224, SHA1 und MD5 mit nativer Web-Crypto-Beschleunigung und Verifikation in konstanter Zeit.
Was ist HMAC?
HMAC (Hash-based Message Authentication Code) kombiniert einen geheimen Schlüssel mit einer Hash-Funktion, um einen Code zu erzeugen, der sowohl beweist, dass eine Nachricht unverändert ist, als auch, dass sie von jemandem erstellt wurde, der den gemeinsamen Schlüssel besitzt – im Gegensatz zu einem einfachen Hash, den jeder berechnen kann.
So verwenden Sie das HMAC / MAC Tool
- Geben Sie die Nachricht und den geheimen Schlüssel ein.
- Wählen Sie einen Hash-Algorithmus für HMAC (SHA-256 und weitere sind verfügbar).
- Erzeugen Sie den MAC, oder fügen Sie einen vorhandenen MAC zusammen mit einer Nachricht und einem Schlüssel ein, um zu prüfen, ob er übereinstimmt.
Technische Hinweise
- HMAC erfordert einen geheimen Schlüssel – ohne ihn ist es nur ein gewöhnlicher Hash und bietet keine Authentifizierungsgarantie.
- Dieselbe Nachricht und derselbe Schlüssel erzeugen immer denselben MAC, daher bedeutet Verifizierung, den MAC neu zu berechnen und zu vergleichen, nicht etwas zu entschlüsseln.
- Halten Sie den geheimen Schlüssel privat; jeder, der ihn besitzt, kann gültige MACs erzeugen, die von Ihren nicht zu unterscheiden sind.
Häufig gestellte Fragen
Wie unterscheidet sich HMAC von einem einfachen Hash?+
Einen einfachen Hash kann jeder berechnen, daher erkennt er nur zufällige Änderungen. HMAC bezieht einen geheimen Schlüssel ein, sodass ein gültiges Tag zusätzlich belegt, dass die Nachricht von jemandem stammt, der diesen Schlüssel besitzt. Ohne Schlüssel bietet es keine Authentifizierung.
Wie verifiziere ich einen MAC — kann er entschlüsselt werden?+
Ein MAC ist keine Verschlüsselung und kann nicht umgekehrt werden. Verifizieren bedeutet, den HMAC über die empfangene Nachricht und den Schlüssel neu zu berechnen und mit dem erwarteten Tag zu vergleichen. Dieses Tool führt diesen Vergleich in konstanter Zeit durch, um Timing-Seitenkanäle zu vermeiden.
Ist HMAC-MD5 oder HMAC-SHA1 sicher zu verwenden?+
Die Kollisionsschwächen von MD5 und SHA-1 brechen HMAC nicht direkt, daher erscheinen diese Varianten noch in einigen Altprotokollen wie älteren AWS-Signaturen und OAuth 1.0. Für alles Neue verwende HMAC-SHA-256 oder stärker.
