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) is a hash computed together with a secret key, proving a message hasn't changed and was sent by someone who knows that key. Unlike a plain hash, an HMAC can't be forged without knowing the secret.

How to use it

Common uses

Things to keep in mind

HMAC protects against tampering and confirms the sender's authenticity, but it doesn't encrypt the message itself — the content stays readable.

A mismatched HMAC is most often caused by different data encoding (e.g. JSON field order) or a stray whitespace or line break, not by a bug in the algorithm itself.

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.