Was ist ein Hash? MD5, SHA-256 und wann Sie HMAC tatsächlich benötigen
Hash-Funktionen wandeln jede Eingabe in einen Fingerabdruck fester Länge um, aber nicht alle Hashes sind gleich. Die Wahl zwischen MD5, SHA-256 und HMAC macht den Unterschied zwischen einer funktionierenden Sicherheitsüberprüfung und einer, die stillschweigend fehlschlägt, aus. In dieser Anleitung wird erläutert, was die einzelnen Funktionen tun, wann sie verwendet werden und wie Sie Ihre eigenen Hashes direkt in Ihrem Browser überprüfen.
Was ist eine Hash-Funktion?
Eine Hash-Funktion nimmt eine beliebige Datenmenge – Text, eine Datei, ein Passwort – und erzeugt eine Zeichenfolge fester Länge. Die gleiche Eingabe erzeugt immer die gleiche Ausgabe, wodurch Hashes für die Verifizierung nützlich sind. Ändern Sie auch nur ein Zeichen in der Eingabe, und der Hash ändert sich vollständig. Diese einseitige Eigenschaft (Sie können einen Hash nicht umkehren, um die ursprünglichen Daten wiederherzustellen) macht sie für die Sicherheit nützlich.
MD5: schnell, aber kaputt
MD5 erzeugt einen 128-Bit-Hash und war einst der Standard für Prüfsummen und Dateiverifizierung. Heutzutage ist es kryptografisch fehlerhaft – Kollisionen (zwei verschiedene Eingaben erzeugen denselben Hash) sind schnell zu erkennen. MD5 erscheint immer noch in älteren Systemen und für nicht sicherheitsrelevante Prüfsummen, jedoch nie für Authentifizierung oder Passwörter. Benutzen Sie die Hash-Generator um die MD5-Ausgabe zu sehen, aber greifen Sie für alles, was wichtig ist, nach SHA-256.
SHA-256: der aktuelle Standard
SHA-256 (Teil der SHA-2-Familie) erzeugt einen 256-Bit-Hash und ist die moderne Wahl für kryptografische Arbeiten. Es ist für die meisten Anwendungen schnell genug, resistent gegen bekannte Angriffe und wird weithin unterstützt. Du wirst sehen SHA-256 Wird in Blockchain-Systemen, Zertifikatsfingerabdrücken und Passwort-Hashing verwendet. Der Hash-Generator unterstützt SHA-256 als Standardalgorithmus.
HMAC: Wenn Sie ein Geheimnis brauchen
Eine einfache Hash-Funktion ist deterministisch – jeder kann den Hash überprüfen. Ein HMAC (Hash-based Message Authentication Code) mischt einen geheimen Schlüssel bei, sodass nur jemand, der den Schlüssel kennt, den richtigen Hash erzeugen kann. Dies ist für APIs unerlässlich: Server und Client teilen ein Geheimnis, jeder signiert seine Nachrichten damit und der Empfänger überprüft, ob die Signatur übereinstimmt. Dies beweist, dass die Nachricht vom angegebenen Absender stammt und nicht manipuliert wurde. Der HMAC-Generator können Sie dies mit Ihrem eigenen geheimen Schlüssel testen.
Wann Sie die einzelnen Ansätze verwenden sollten
- Verwenden Sie einfach
SHA-256für Dateiintegritätsprüfungen, Passwort-Hashing (mit Salt und einer langsamen Funktion wie bcrypt) und öffentliche Fingerabdrücke. - Verwenden
HMACfür das Signieren von API-Anfragen, die Webhook-Verifizierung und jedes Szenario, in dem beide Parteien ein Geheimnis teilen. - Überspringen
MD5für alles, was mit Sicherheit zu tun hat. Verwenden Sie es nur, wenn Sie mit älteren Systemen interagieren, die es erfordern.
Ihre Daten bleiben auf Ihrem Gerät
Sowohl die Hash-Generator Und HMAC-Generator läuft vollständig in Ihrem Browser. Ihr Text wird niemals an einen Server gesendet – er wird lokal auf Ihrem Gerät gehasht, funktioniert offline, nachdem die Seite geladen wurde, und erfordert kein Konto oder Login. Dies bedeutet, dass Sie vertrauliche Informationen wie API-Schlüssel zum Testen sicher hashen können, ohne sie dem Internet preiszugeben.
Bonus: Entropie messen
Wenn Sie Geheimnisse oder Passwörter generieren, ist die Shannon-Entropie Der Rechner zeigt an, wie viel Zufälligkeit (und damit Sicherheit) in einer Zeichenfolge steckt. Höhere Entropie bedeutet, dass es schwerer zu erraten ist. Verwenden Sie es, um zu überprüfen, ob Ihre generierten Geheimnisse tatsächlich zufällig sind, bevor Sie sie bereitstellen.