HMAC-Generator
Generiert HMAC-Signaturen mit SHA-256/384/512 aus Nachricht und geheimem Schlüssel.
Über dieses Tool
HMAC (Hash-basierter Message Authentication Code) ist eine kryptographische Technik zur Überprüfung der Integrität und Authentizität von Daten bei der Übertragung oder Speicherung. Durch die Kombination eines geheimen Schlüssels mit einer Nachricht erzeugt HMAC eine eindeutige Signatur, die beweist, dass die Daten nicht verändert wurden und dass nur jemand mit dem geheimen Schlüssel sie hätte erstellen können. Dies macht es unverzichtbar für die Sicherung von APIs, die Validierung von Webhooks, das Signieren von Anmeldedaten und den Schutz vertraulicher Kommunikation im Internet.
Um dieses Tool zu verwenden, geben Sie Ihre Nachricht in das Textfeld ein und geben Sie einen geheimen Schlüssel an, den Sie mit dem Empfänger teilen. Wählen Sie den Hash-Algorithmus (SHA-256, SHA-384 oder SHA-512) basierend auf Ihren Sicherheitsanforderungen und klicken Sie auf "HMAC generieren", um die Signatur zu erzeugen. Der resultierende Hash kann zusammen mit Ihren Daten gesendet werden, damit der Empfänger die Authentizität überprüfen kann, indem er das gleiche HMAC mit seiner Kopie des geheimen Schlüssels generiert.
HMAC wird häufig von Zahlungsabwicklern, Cloud-APIs (AWS, Google Cloud, Stripe) und Echtzeit-Kommunikationssystemen verwendet, um Manipulation zu verhindern und die Nachrichtenursprung zu bestätigen. Die SHA-256-Variante bietet starke Sicherheit für die meisten Anwendungsfälle, während SHA-384 und SHA-512 zusätzliche Sicherheitsmargen für äußerst sensible Anwendungen bieten. Denken Sie daran, dass die Sicherheit von HMAC ganz davon abhängt, Ihren geheimen Schlüssel privat zu halten — teilen Sie ihn niemals über unsichere Kanäle.
Häufig gestellte Fragen
Code-Implementierung
import hmac
import hashlib
import base64
import secrets
# Generate HMAC-SHA256
key = secrets.token_bytes(32) # 256-bit random key
message = "Hello, World!"
# Raw hex output
mac = hmac.new(key, message.encode(), hashlib.sha256)
print("HMAC-SHA256 (hex):", mac.hexdigest())
# Base64 output (common for API signatures)
mac_b64 = base64.b64encode(mac.digest()).decode()
print("HMAC-SHA256 (b64):", mac_b64)
# HMAC-SHA512
mac512 = hmac.new(key, message.encode(), hashlib.sha512)
print("HMAC-SHA512 (hex):", mac512.hexdigest())
# Constant-time verification (prevents timing attacks)
def verify_hmac(key: bytes, message: str, expected: str) -> bool:
computed = hmac.new(key, message.encode(), hashlib.sha256).hexdigest()
return hmac.compare_digest(computed, expected)
signature = mac.hexdigest()
print("Valid: ", verify_hmac(key, message, signature)) # True
print("Invalid:", verify_hmac(key, "tampered", signature)) # FalseComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.