🧰 ToolPicoAlle Tools →
StartseiteBlog › 5 typische Hash-Fehler

5 typische Hash-Fehler: MD5 für Passwörter & Co. vermeiden

Ein Hash sieht auf den ersten Blick harmlos aus — ein kurzer String aus Buchstaben und Zahlen. Doch wer ihn falsch einsetzt, produziert stille Sicherheitslücken oder scheinbar zufällige Bugs. Hier sind fünf Fehler, die Entwickler und technisch versierte Nutzer im Alltag immer wieder machen (Beispiele sind zur Veranschaulichung, keine echten Zugangsdaten).

Inhalt

Fehler 1: MD5 für Passwörter verwenden

KurzantwortMD5 ist absichtlich schnell — genau das macht es für Passwort-Hashing gefährlich, weil Angreifer Milliarden Kombinationen pro Sekunde durchprobieren können. Für Passwörter gehören dedizierte, langsame Verfahren wie bcrypt oder Argon2 eingesetzt, nicht MD5 oder ein bloßer SHA-256-Hash.

Angenommen, ein Nebenprojekt speichert Nutzerpasswörter als reinen MD5-Hash in einer Datenbank (Beispielszenario). Wird die Datenbank kompromittiert, kann ein Angreifer mit vorab berechneten Rainbow-Tables gängige Passwörter binnen Sekunden zurückverfolgen — MD5 wurde nie für diesen Zweck entworfen, sondern für schnelle Prüfsummen. Mit diesem Tool lässt sich das Problem gut demonstrieren: Hashe im Reiter „Text” zweimal dasselbe kurze Testpasswort mit und ohne Salt — ohne Salt liefert derselbe Eingabewert weltweit immer denselben Hash, was Rainbow-Table-Angriffe erst ermöglicht.

SaltEine zufällige Zeichenfolge, die vor dem Hashen an das Passwort angehängt wird, sodass identische Passwörter unterschiedliche Hashes ergeben. Für echtes Passwort-Hashing reicht ein einfacher Salt trotzdem nicht — dafür sind bcrypt, scrypt oder Argon2 gedacht, die zusätzlich absichtlich langsam rechnen.

Fehler 2: Groß-/Kleinschreibung beim Vergleich ignorieren

KurzantwortHexadezimale Hashes in Groß- und Kleinschreibung sind identisch im Wert, aber ein naiver textueller Vergleich unterscheidet sie fälschlich. Ein vermeintlich „falscher” Hash ist oft nur ein Formatierungsunterschied.

Ein häufiges Szenario: Ein CI/CD-Skript vergleicht den SHA-256 eines Build-Artefakts mit einem in Großbuchstaben hinterlegten Referenzwert (z. B. 3A7BD3E2...) gegen einen in Kleinbuchstaben berechneten Hash (3a7bd3e2...) und schlägt fehl, obwohl das Artefakt unverändert ist (Beispielszenario). Dieses Tool berechnet den Hash-Vergleich unabhängig von der Groß-/Kleinschreibung und bietet zusätzlich eine abc/ABC-Umschaltung im Ausgabeformat, damit du den Wert direkt im benötigten Format kopieren kannst, statt ihn manuell zu konvertieren.

Fehler 3: Hash statt HMAC bei Webhooks

KurzantwortEin einfacher Hash beweist nur Unversehrtheit, nicht Herkunft — jeder kann ihn nachrechnen. Für Webhook-Signaturen wird deshalb HMAC-SHA256 mit einem geheimen Schlüssel verwendet, den nur Sender und Empfänger kennen.

Beim Empfang eines Webhooks (etwa von einem Zahlungs- oder Newsletter-Anbieter) reicht es nicht, den mitgesendeten Payload einfach mit SHA-256 zu hashen und mit einer im Header mitgeschickten Prüfsumme zu vergleichen — ein Angreifer könnte denselben Hash für eine gefälschte Nachricht ebenso berechnen. Erst HMAC, das den Payload zusätzlich mit einem geheimen Schlüssel verrechnet, beweist, dass die Nachricht wirklich vom erwarteten Absender stammt. Zum Testen eigener Integrationen kannst du im Text-Modus dieses Tools direkt HMAC-SHA256 oder HMAC-SHA512 mit einem Test-Schlüssel signieren und die Ausgabe mit der Server-Antwort abgleichen.

Fehler 4: CRC32 mit einem sicheren Hash verwechseln

KurzantwortCRC32 ist ein schneller 32-Bit-Prüfwert gegen zufällige Übertragungsfehler (z. B. in ZIP-Dateien), aber kryptografisch unsicher — Kollisionen lassen sich absichtlich konstruieren. Für Schutz vor gezielter Manipulation ist SHA-256 die richtige Wahl.

Ein Archivierungsskript, das nur die in ZIP-Metadaten gespeicherte CRC32-Prüfsumme kontrolliert, erkennt zwar einen durch eine schlechte Netzwerkverbindung beschädigten Download (Beispielszenario), schützt aber nicht davor, dass jemand den Dateiinhalt absichtlich austauscht und dabei dieselbe CRC32-Prüfsumme erzeugt — das ist mit vertretbarem Aufwand möglich. Für sicherheitsrelevante Zwecke solltest du stattdessen SHA-256 oder SHA-512 berechnen und vergleichen, beide stehen in diesem Tool direkt neben CRC32 als Option zur Verfügung.

PrüfwertZweckSchützt vor Manipulation?
CRC32ÜbertragungsfehlerNein
MD5Legacy-PrüfsummeNein (gebrochen)
SHA-256Integrität & SicherheitJa
HMAC-SHA256Authentizität (mit Schlüssel)Ja, inkl. Herkunft

Fehler 5: Unsichtbare Eingabe-Unterschiede übersehen

KurzantwortEin zusätzliches Leerzeichen, ein Zeilenumbruch am Ende oder eine falsch gewählte Eingabekodierung (UTF-8 statt Hex oder Base64) verändert den Hash vollständig, obwohl der Text „gleich aussieht”.

Wer einen Textausschnitt aus einer Chat-Nachricht oder einem PDF kopiert, nimmt oft ungewollt ein unsichtbares Leerzeichen oder einen zusätzlichen Zeilenumbruch mit — der berechnete Hash weicht dann vom erwarteten Wert ab, obwohl der sichtbare Text identisch erscheint. Ebenso wichtig: Wenn du bereits vorliegende Hex- oder Base64-kodierte Bytes hashen willst (etwa einen Binärwert aus einer API-Antwort), musst du im Tool die passende Eingabekodierung auswählen statt der Standardeinstellung „UTF-8 (Text)” — sonst wird die Zeichenkette selbst gehasht statt der dahinterliegenden Bytes.

Praxis-Tipp: Bei unerwarteten Hash-Abweichungen zuerst die Textarea auf unsichtbare Leerzeichen/Zeilenumbrüche prüfen, dann die gewählte Eingabekodierung und einen eventuell gesetzten Salt kontrollieren — in dieser Reihenfolge lassen sich die meisten „falschen” Hashes aufklären.

Hash und HMAC berechnen, Groß-/Kleinschreibung normalisiert vergleichen, CRC32 und SHA nebeneinander testen — kostenlos und komplett im Browser.

Hash-Generator öffnen →

Häufige Fragen

Warum ist MD5 für Passwörter ungeeignet?
MD5 wurde für Geschwindigkeit entwickelt, nicht für Sicherheit — genau das macht es für Passwörter gefährlich. Angreifer können Milliarden von MD5-Hashes pro Sekunde durchprobieren (Brute-Force) und mit vorab berechneten Rainbow-Tables gängige Passwörter sofort zurückverfolgen. Für Passwort-Hashing sind dedizierte, absichtlich langsame Verfahren wie bcrypt, scrypt oder Argon2 vorgesehen, nicht MD5 oder ein einfacher SHA-256-Hash.
Was passiert, wenn ich beim Hash-Vergleich Groß-/Kleinschreibung ignoriere?
Hexadezimale Hashwerte werden von manchen Systemen in Großbuchstaben (ABC123...) und von anderen in Kleinbuchstaben (abc123...) ausgegeben — der zugrunde liegende Wert ist identisch. Ein naiver String-Vergleich ohne Normalisierung meldet dann fälschlich „keine Übereinstimmung”, obwohl die Datei unversehrt ist. Dieses Tool vergleicht Hashes unabhängig von der Groß-/Kleinschreibung und bietet zusätzlich eine Umschaltung zwischen abc- und ABC-Ausgabe.
Ist ein Hash-Vergleich dasselbe wie eine HMAC-Prüfung?
Nein. Ein einfacher Hash beweist nur, dass Daten unverändert sind — jeder kann ihn berechnen, auch ein Angreifer. HMAC (Hash-based Message Authentication Code) kombiniert den Hash zusätzlich mit einem geheimen Schlüssel, sodass nur beweisen kann, wer den Schlüssel kennt. Bei Webhook-Signaturen (z. B. von Zahlungsanbietern) wird deshalb praktisch immer HMAC-SHA256 verwendet, nicht ein einfacher SHA-256-Hash.
Wofür wird CRC32 im Vergleich zu SHA-256 verwendet?
CRC32 ist ein sehr schneller, aber kryptografisch ungeeigneter Prüfwert mit nur 32 Bit Länge — er wird traditionell in ZIP-Archiven und Netzwerkprotokollen zur Erkennung zufälliger Übertragungsfehler eingesetzt, nicht zur Abwehr absichtlicher Manipulation. Für Sicherheitszwecke oder Dateiintegrität gegenüber böswilligen Änderungen ist SHA-256 die richtige Wahl, da CRC32-Kollisionen trivial konstruierbar sind.
Warum liefert derselbe Text plötzlich einen anderen Hash?
Meist liegt es an unsichtbaren Unterschieden in der Eingabe: ein zusätzliches Leerzeichen oder ein Zeilenumbruch am Ende, unterschiedliche Zeichenkodierung (UTF-8 vs. Hex vs. Base64-Interpretation) oder ein gesetzter Salt-Wert, der beim erneuten Hashen vergessen wurde. Da ein Hash bereits bei einem einzigen veränderten Bit vollständig anders ausfällt, lohnt es sich, die Eingabekodierung und einen eventuell verwendeten Salt genau zu überprüfen.
Methodik-Hinweis: Alle Szenarien und Beispielwerte in diesem Artikel (Hash-Beispiele, Skript-Situationen) dienen ausschließlich der Veranschaulichung und sind erfunden, keine echten Vorfälle oder Zugangsdaten. Dieser Ratgeber ist allgemein informativ und ersetzt keine fachliche IT-Sicherheitsberatung.