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) ist ein Hash, der zusammen mit einem geheimen Schlüssel berechnet wird und beweist, dass eine Nachricht unverändert ist und von jemandem stammt, der diesen Schlüssel kennt. Anders als ein einfacher Hash lässt sich ein HMAC ohne Kenntnis des Geheimnisses nicht fälschen.

So verwendest du es

Typische Anwendungsfälle

Was du wissen solltest

HMAC schützt vor Manipulation und bestätigt die Echtheit des Absenders, verschlüsselt aber nicht die Nachricht selbst — der Inhalt bleibt lesbar.

Ein nicht übereinstimmender HMAC liegt meist an unterschiedlicher Datenkodierung (z. B. JSON-Feldreihenfolge) oder einem versehentlichen Leerzeichen oder Zeilenumbruch, nicht an einem Fehler im Algorithmus selbst.

Artikel zu diesem Tool: HMAC: wie sich ein Hash mit Schlüssel von einem gewöhnlichen Hash unterscheidet

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.

Artikel: Hashes/Krypto

Hash Generator: worin sich MD5, SHA-1 und SHA-256 unterscheiden

Warum MD5 immer noch zur Überprüfung der Dateiintegrität verwendet wird, aber nicht für Passwörter.

Checksum Verifier: wie man prüft, ob eine Datei nicht beschädigt ist

Warum eine übereinstimmende Prüfsumme die Integrität einer Datei bestätigt, aber nicht, wer sie erstellt hat.

Bcrypt: warum Passwörter langsam gehasht werden, nicht schnell

Warum ein schneller SHA-256 eine schlechte Wahl für Passwörter ist, und ein langsamer bcrypt die richtige.

UUID: wie Kennungen erzeugt werden, die sich fast nie wiederholen

Warum UUID v4 unabhängig auf Millionen von Maschinen ohne Kollisionsrisiko erzeugt werden kann.

Passwortgenerator: was ein Passwort wirklich stark macht

Warum ein langes Passwort aus Wörterbuchwörtern stärker ist als ein kurzes mit Symbolen und Zahlen.

AES: wie symmetrische Verschlüsselung funktioniert

Warum bei AES derselbe Schlüssel Daten verschlüsselt und entschlüsselt, und wie sich das von asymmetrischer Verschlüsselung unterscheidet.

Argon2: warum dieser Algorithmus den Passwort-Hashing-Wettbewerb gewann

Wie Argon2 besser vor Angriffen mit Grafikkarten schützt als ältere Passwort-Hashing-Algorithmen.

Scrypt: warum der Algorithmus so viel Speicher braucht

Warum scrypt absichtlich viel Speicher benötigt, um das Knacken auf ASIC-Geräten zu erschweren.

TOTP: wie Einmalcodes in Authenticator-Apps funktionieren

Warum der Code in Google Authenticator ohne Internet funktioniert und sich nur über die Zeit mit dem Server synchronisiert.

PBKDF2: der älteste Standard zur Schlüsselstreckung

Warum die empfohlene Anzahl der PBKDF2-Iterationen jedes Jahr wächst.

X.509: was in einem SSL-Zertifikat steckt

Was der Browser im Zertifikat einer Website genau prüft, bevor er das grüne Schloss anzeigt.

PGP: wie Verschlüsselung mit öffentlichem und privatem Schlüssel funktioniert

Warum man einen öffentlichen PGP-Schlüssel frei teilen kann, den privaten aber niemals.