Über dieses Tool
Tester brauchen Hashes, um heruntergeladene Artefakte zu prüfen, Dateien zu vergleichen, ohne sie zu öffnen, und vor allem, um Webhook-Signaturen zu prüfen. Dieser Generator berechnet MD5 und die SHA-Familie für Text oder eine lokale Datei und hat einen HMAC-Modus, der einen Payload mit einem Secret signiert, so wie GitHub, Shopify und die meisten Zahlungsanbieter Webhooks signieren. Fügen Sie den Wert des Signatur-Headers in das Vergleichsfeld ein, und Sie sehen sofort, ob Ihr Test-Payload und Ihr Secret ihn reproduzieren. SHA und HMAC verwenden die Web Crypto API des Browsers. Web Crypto kennt kein MD5, daher stammt MD5 aus einer kleinen Implementierung, die gegen die Testsuite aus RFC 1321 geprüft wurde. Dateien werden in Ihrem Browser gelesen und nie hochgeladen.
So funktioniert es
- Wählen Sie Hash oder HMAC und ob die Eingabe Text oder eine Datei ist.
- Fügen Sie Text ein (als UTF-8 codiert) oder wählen Sie eine Datei.
- Wählen Sie im HMAC-Modus den Algorithmus und geben Sie das Secret als Text oder Hex ein.
- Kopieren Sie das Ergebnis in Hex oder Base64 oder fügen Sie einen erwarteten Wert zum Vergleich ein.
FAQ zu Hash- & HMAC-Generator
Warum stimmt meine Webhook-Signatur nicht überein?
Fast immer, weil sich der Body um ein Byte unterscheidet: Er wurde formatiert, Keys wurden umsortiert oder Zeilenenden geändert. Signieren Sie den rohen Request-Body exakt so, wie er empfangen wurde, und prüfen Sie, ob der Anbieter zusätzliche Daten signiert, etwa ein Zeitstempel-Präfix.
Kann ich MD5 oder SHA-1 bedenkenlos verwenden?
Nicht für Sicherheitszwecke. Für beide existieren praktische Kollisionen. Zum Erkennen versehentlicher Beschädigung und zum Testen von Altsystemen sind sie in Ordnung; für alles Sicherheitsrelevante verwenden Sie SHA-256 oder stärker.
Warum ergibt derselbe Text in einem anderen Tool einen anderen Hash?
Hashes arbeiten auf Bytes. Unterschiede im Encoding (UTF-8 vs. UTF-16), ein abschließender Zeilenumbruch oder Windows-CRLF-Zeilenenden ändern das Ergebnis. Dieses Tool hasht exakt die UTF-8-Bytes des Textfelds.