HMAC-Generator
Generieren Sie HMAC (Hash-basierter Nachrichtenauthentifizierungscode) mit SHA-256-, SHA-384-, SHA-512- oder SHA-1-Algorithmen und einem geheimen Schlüssel
Eingabe
Ausgabe
Readme
Was ist HMAC?
HMAC (Hash-basierter Nachrichtenauthentifizierungscode) ist eine kryptographische Technik, die einen geheimen Schlüssel mit einer Hashfunktion kombiniert, um einen eindeutigen Authentifizierungscode zu erzeugen. Im Gegensatz zum einfachen Hashing stellt HMAC sowohl die Datenintegrität als auch die Authentizität sicher - es überprüft, dass eine Nachricht nicht manipuliert wurde, und bestätigt die Identität des Absenders.
HMAC funktioniert, indem die Nachricht zweimal durch eine Hashfunktion (wie SHA-256) verarbeitet wird, wobei der geheime Schlüssel auf eine bestimmte Weise gemischt wird. Dieser Doppel-Hash-Ansatz macht ihn widerstandsfähig gegen Längenerweitungsangriffe, die einfache Hashfunktionen betreffen.
Wie funktioniert HMAC?
Der HMAC-Algorithmus folgt diesen Schritten:
- Schlüsselvorbereitung: Wenn der geheime Schlüssel länger als die Hash-Blockgröße ist, wird er zuerst gehasht. Wenn er kürzer ist, wird er mit Nullen aufgefüllt.
- Innerer Hash: Der Schlüssel wird mit einer inneren Padding-Konstante (ipad) XOR-verknüpft, dann mit der Nachricht verkettet und gehasht.
- Äußerer Hash: Der Schlüssel wird mit einer äußeren Padding-Konstante (opad) XOR-verknüpft, dann mit dem Ergebnis des inneren Hashs verkettet und erneut gehasht.
Die Formel lautet: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
Diese Konstruktion stellt sicher, dass ein Angreifer, selbst wenn er den Hash einer Nachricht kennt, keinen gültigen HMAC ohne Kenntnis des geheimen Schlüssels fälschen kann.
Warum HMAC statt regulärem Hashing?
| Funktion | Regulärer Hash | HMAC |
|---|---|---|
| Datenintegrität | ✓ | ✓ |
| Authentifizierung | ✗ | ✓ |
| Erfordert geheimen Schlüssel | ✗ | ✓ |
| Schutz vor Längenerweitungsangriffen | ✗ | ✓ |
| Geeignet für API-Authentifizierung | ✗ | ✓ |
Reguläre Hashes (MD5, SHA-256) überprüfen nur, dass sich Daten nicht verändert haben. HMAC beweist zusätzlich, dass die Nachricht von jemandem stammt, der den geheimen Schlüssel kennt, was ihn für sichere Kommunikationen unerlässlich macht.
[Rest of the document continues in the same translated manner, following the specified translation rules]