HMAC-Rechner: SHA-1, SHA-256, SHA-512

Tippen Sie eine Nachricht und einen geheimen Schlüssel ein. Sie erhalten den HMAC der Nachricht mit vier Hashfunktionen, in Hexadezimal und in Base64, berechnet in Ihrem Browser.

Kostenlos Läuft in Ihrem Browser Stand: Dienstag, 10. November 2026

Die Daten, die authentifiziert werden sollen. Text wird als UTF-8 genau so gelesen, wie Sie ihn eingeben. Hexadezimal oder Base64 wird als Bytes gelesen.

Kodierung der Nachricht

Wie die Nachricht geschrieben ist.

Der geheime Schlüssel. Nur wer denselben Schlüssel hat, erzeugt denselben HMAC. Halten Sie ihn daher geheim.

Kodierung des Schlüssels

Wie der Schlüssel geschrieben ist. Base64 liest auch das URL-sichere Alphabet eines JWK-Werts „k“.

Ergebnis

HMAC-Werte

Dieses Werkzeug läuft in Ihrem Browser. Was Sie eingeben, wird nicht an uns gesendet.

So verwenden Sie es

  1. Tippen Sie die Daten in Nachricht ein. Für binäre Daten wählen Sie unter Kodierung der Nachricht Hexadezimal oder Base64.
  2. Tippen Sie den geheimen Schlüssel in Schlüssel ein und wählen Sie unter Kodierung des Schlüssels, wie er geschrieben ist.
  3. Lesen Sie die vier Zeilen unter HMAC-Werte ab. Kopieren Sie den Wert, den Sie brauchen, oder vergleichen Sie ihn mit dem Wert Ihres Systems.
  4. Weichen die Werte von einem anderen System ab, prüfen Sie zuerst die Bytes: Ein anderes Zeilenende oder eine andere Kodierung ergibt einen anderen HMAC.

Was ein HMAC ist

Ein HMAC (RFC 2104) ist ein Nachrichtenauthentisierungscode: ein kurzer Wert, den nur erzeugen kann, wer den geheimen Schlüssel kennt. Er wird aus einer gewöhnlichen Hashfunktion H gebildet, die zweimal auf die Nachricht und den Schlüssel angewendet wird. Dieselbe Hashfunktion kann daher für die vier Zeilen der Tabelle verwendet werden. Weil der Schlüssel nötig ist, zeigt ein passender HMAC, dass die Nachricht nicht verändert wurde und von einem Inhaber des Schlüssels stammt.

Ein HMAC verbirgt die Nachricht nicht. Jeder, der die Nachricht hat, kann sie lesen. Der HMAC erlaubt nur, sie zu prüfen.

HMAC(K, m) = H((K XOR opad) || H((K XOR ipad) || m))

ipad = das Byte 0x36, B-mal wiederholt
opad = das Byte 0x5C, B-mal wiederholt
B    = die Blockgröße von H: 64 Bytes bei SHA-1 und SHA-256, 128 Bytes bei SHA-384 und SHA-512

Welcher Hash und welcher Schlüssel

HMAC-SHA-256 ist die übliche Wahl und die, die viele Webhooks und Schnittstellen verwenden. HMAC-SHA-512 ist dieselbe Konstruktion mit einer längeren Ausgabe. HMAC-SHA-1 kommt noch in älteren Systemen vor und ist für neue Entwürfe keine Wahl mehr.

Der Schlüssel sollte zufällig und mindestens so lang sein wie die Hash-Ausgabe. Ein als Wort oder kurze Phrase eingegebener Schlüssel ist leicht zu erraten, und ein erratener Schlüssel macht den HMAC wertlos.

Hexadezimal und Base64

Beide Formen zeigen dieselben Bytes. Hexadezimal schreibt jedes Byte als zwei Ziffern, daher hat SHA-256 64 Ziffern. Base64 schreibt drei Bytes als vier Zeichen, daher hat SHA-256 44 Zeichen, das letzte davon ein = zum Auffüllen (RFC 4648).

  • HMAC-SHA-1: 40 hexadezimale Ziffern, 28 Base64-Zeichen
  • HMAC-SHA-256: 64 hexadezimale Ziffern, 44 Base64-Zeichen
  • HMAC-SHA-384: 96 hexadezimale Ziffern, 64 Base64-Zeichen
  • HMAC-SHA-512: 128 hexadezimale Ziffern, 88 Base64-Zeichen

Rechenbeispiel: RFC 4231, Testfall 2

Der Schlüssel Jefe und die Nachricht what do ya want for nothing? sind der zweite Testfall von RFC 4231 für SHA-256, SHA-384 und SHA-512 sowie von RFC 2202 für SHA-1. Die Tabelle unten zeigt, was die Seite dafür ausgibt. Ihr HMAC-SHA-256-Wert ist der, den der RFC angibt: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843.

Algorithmus Hexadezimal Base64
HMAC-SHA-1 effcdf6ae5eb2fa2d27416d5f184df9c259a7c79 7/zfauXrL6LSdBbV8YTfnCWafHk=
HMAC-SHA-256 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843 W9zBRr9gdU5qBCQmCJV1x1oAPwidJzmDnexYuWTsOEM=
HMAC-SHA-384 af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649 r0XS43ZIQDFhf3jStYprG5x+9GT1oBtH5C7Dc2MiRF6OIkDKXmnix4syOez6shZJ
HMAC-SHA-512 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737 Fkt6e/z4GeLjlfvnO1bgo4e9ZCIugx/WECcM1+olBVSXWL91wFqZSm0DT2X48Ob9yuqxo01Ka0tjbgcKOLznNw==

Häufig gestellte Fragen

Ist ein HMAC dasselbe wie das Verschlüsseln der Nachricht?

Nein. Ein HMAC verbirgt die Nachricht nicht, daher kann sie jeder lesen. Er zeigt, dass die Nachricht nicht verändert wurde und dass der Absender den Schlüssel kennt. Für Geheimhaltung brauchen Sie eine Verschlüsselung.

Was ist der Unterschied zwischen einem Hash und einem HMAC?

Ein Hash hängt nur von der Nachricht ab, daher kann jeder ihn berechnen. Ein HMAC braucht außerdem den geheimen Schlüssel, daher kann ihn nur erstellen oder prüfen, wer den Schlüssel hat. Für reine Hashwerte nutzen Sie den Hash-Rechner.

Warum weicht mein HMAC von dem ab, den meine Bibliothek liefert?

Der Schlüssel oder die Bytes der Nachricht unterscheiden sich. Ein als Text eingegebener Schlüssel besteht aus seinen UTF-8-Bytes, und dieselben Buchstaben in hexadezimaler Form sind andere Bytes. Ein Zeilenumbruch am Ende der Nachricht ändert den HMAC ebenfalls.

Welche Schlüssellänge sollte ich verwenden?

Verwenden Sie einen zufälligen Schlüssel, der mindestens so lang ist wie die Hash-Ausgabe: 32 Bytes für HMAC-SHA-256. RFC 2104 rät dringend von einem kürzeren Schlüssel ab, und ein aus Wörtern oder einer kurzen Phrase gebildeter Schlüssel ist leicht zu erraten.

Kann ich mit dieser Seite eine Webhook-Signatur prüfen?

Ja, wenn Sie genau die Bytes verwenden, die signiert wurden. Webhook-Signaturen werden meist über den rohen Anfragekörper berechnet. Fügen Sie den Körper daher unverändert ein, denn ein neu formatiertes JSON ergibt einen anderen HMAC.

Wird mein Schlüssel oder meine Nachricht irgendwohin gesendet?

Nein. Der HMAC wird in Ihrem Browser mit der eingebauten Schnittstelle SubtleCrypto berechnet. Der Schlüssel und die Nachricht werden weder hochgeladen noch gespeichert.

Quellen

Zahlen und Text zuletzt geprüft: Dienstag, 10. November 2026.

Wir verwenden notwendige Cookies, damit die Website funktioniert. Mit Ihrer Einwilligung verwendet Google außerdem Werbe-Cookies, um personalisierte Anzeigen zu zeigen. Wenn Sie diese ablehnen, sehen Sie weiterhin Anzeigen, sie werden aber nicht personalisiert.