HMAC-Signatur erstellen
Signieren Sie mensaje mit dem Schlüssel clave-secreta per HMAC-SHA-256, und Sie erhalten eine Signatur, die mit fd7e5bf1 beginnt und nur mit diesem Schlüssel reproduzierbar ist. Prüfen Sie erhaltene Signaturen genauso, um veränderte Nachrichten zu erkennen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Diese Funktion berechnet eine HMAC-Signatur aus einer Nachricht und einem geheimen Schlüssel oder prüft eine vorhandene Signatur auf Gültigkeit.
Was eine Signatur mit Schlüssel beweist
Ein HMAC ist ein Fingerabdruck einer Nachricht, berechnet mit einem Geheimnis, das beide Seiten teilen. Einen gewöhnlichen Hash kann jeder berechnen, er zeigt also nur, dass Daten nicht beschädigt wurden. Ein HMAC zeigt zusätzlich, wer ihn erzeugt hat: Ohne das Geheimnis kann niemand eine Signatur bilden, die der Prüfung standhält. Sie wählen den zugrunde liegenden Hash, SHA-256, SHA-384 oder SHA-512, und erhalten die Signatur als Hexadezimal- oder Base64-Text, oder Sie lassen eine erhaltene Signatur prüfen und bekommen gültig oder ungültig.
Wo HMAC-Signaturen eingesetzt werden
Signierte Links sind ein typischer Fall: Ein HMAC über Adresse und Ablaufzeit macht Download- oder Passwort-Reset-Links fälschungssicher. Auch Nachrichtenwarteschlangen nutzen ihn, damit Empfänger alles verwerfen, was unterwegs verändert wurde, und Dienste verlassen sich damit auf automatische Benachrichtigungen eines anderen Systems. Das Verfahren wurde 1996 in RFC 2104 festgelegt und später als FIPS 198 genormt, und drei Jahrzehnte Analyse haben es weitgehend unbeschadet gelassen.
Der Unterschied zwischen Hash und HMAC
Ein einfacher Hashwert lässt sich von jedem berechnen, der die Nachricht kennt – zur Absicherung reicht das nicht. HMAC verknüpft die Nachricht zusätzlich mit einem geheimen Schlüssel, den nur Sender und Empfänger kennen.
Ihr Schlüssel bleibt bei Ihnen
Der geheime Schlüssel wird bei jeder Berechnung neu von Ihnen eingegeben und zu keinem Zeitpunkt gespeichert – weder im Browser noch auf einem Server. Nach dem Verlassen der Seite ist er wieder weg, so wie es sich für ein Geheimnis gehört, das über keine dritte Stelle laufen sollte.
Häufige Fragen
Welche Algorithmen werden für die HMAC-Berechnung unterstützt?
SHA-256 als Standard sowie SHA-1 und SHA-512 für Systeme, die einen anderen Algorithmus verlangen.
Wird mein geheimer Schlüssel gespeichert?
Nein, zu keinem Zeitpunkt. Sie geben ihn für jede Berechnung neu ein, und er wird danach nicht aufbewahrt.
Kann ich damit auch eine vorhandene Signatur prüfen?
Ja. Sie geben Nachricht, Schlüssel und die erhaltene Signatur ein, und die Funktion zeigt an, ob sie gültig ist.
Worin unterscheidet sich HMAC von einem einfachen Hash?
Ein einfacher Hash lässt sich von jedem berechnen, der die Nachricht kennt. HMAC bindet zusätzlich einen geheimen Schlüssel ein, sodass nur Sender und Empfänger eine gültige Signatur erzeugen können.
Muss ich mich anmelden?
Nein. Es gibt derzeit keine Konten – die Nutzung im Browser ist kostenlos und ohne Limit.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/hmac \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"payload","secret":"s3cr3t"}'const res = await fetch("https://api.kit.forhosting.com/dev/hmac", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "payload",
"secret": "s3cr3t"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/hmac",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "payload",
"secret": "s3cr3t"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/hmac", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"payload","secret":"s3cr3t"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"payload","secret":"s3cr3t"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/hmac", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "payload",
"secret": "s3cr3t"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.hmac",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Gedacht für Entwicklerinnen und Entwickler, die Webhooks absichern, API-Anfragen signieren oder eine eingehende Signatur nachvollziehen müssen, ohne dafür eigenen Code zu schreiben.
Der Unterschied zwischen Hash und HMAC
Nur wer den Schlüssel besitzt, kann eine gültige Signatur erzeugen oder prüfen; genau darauf verlassen sich Webhooks von Zahlungsanbietern und viele APIs.
Signatur erstellen oder eine vorhandene prüfen
Sie geben die Nachricht, den geheimen Schlüssel und den gewünschten Algorithmus ein und erhalten die berechnete Signatur. Umgekehrt lässt sich eine erhaltene Signatur zusammen mit derselben Nachricht und demselben Schlüssel eingeben, um zu prüfen, ob sie tatsächlich gültig ist – nützlich, um die Signaturprüfung eines eingehenden Webhooks manuell nachzuvollziehen, bevor sie im eigenen Code eingebaut wird.
Für die Automatisierung per API
Die manuelle Nutzung im Browser bleibt davon unabhängig kostenlos. Wer HMAC-Signaturen regelmäßig in einer Pipeline prüfen oder erzeugen möchte, etwa beim Testen einer Webhook-Integration, kann denselben Aufruf über die API ansprechen, für $0.002 pro Anfrage.
Integrationsbeispiele
Eingehenden Zahlungs-Webhook prüfen
Sabine Schneider entwickelt eine Zahlungsintegration und prüft manuell, ob die vom Zahlungsanbieter mitgesendete HMAC-Signatur zur empfangenen Nachricht passt, bevor sie die Prüfung fest im eigenen Code verankert.
Interne API-Aufrufe zwischen zwei Diensten absichern
Die Schneider IT-Systeme GmbH & Co. KG signiert Anfragen zwischen zwei internen Diensten mit einem gemeinsamen Schlüssel, damit ein Dienst gefälschte Anfragen sofort erkennt.
Eine Signaturprüfung debuggen
Ein freiberuflicher Entwickler bekommt bei einer Webhook-Integration ständig eine ungültige Signatur gemeldet und rechnet die HMAC-Berechnung Schritt für Schritt nach, um den Fehler in der eigenen Implementierung zu finden.
Technische Fragen
Was kostet die Nutzung über die API?
$0.002 pro Anfrage. Die Berechnung im Browser bleibt unabhängig davon kostenlos.