Berechnen Sie Hash-Werte für Text oder Dateien mit verschiedenen Algorithmen.
Hash-Funktionen erzeugen aus beliebigen Eingabedaten (Text oder Dateien) einen Ausgabewert fester Länge, den sogenannten Hash-Wert oder Prüfsumme. Diese Funktionen haben folgende Eigenschaften:
Überprüfen Sie, ob eine Datei während der Übertragung oder Speicherung verändert wurde, indem Sie den Hash-Wert vor und nach der Übertragung vergleichen. Dies ist besonders wichtig bei Downloads von Software oder wichtigen Dokumenten.
Sichere Systeme speichern niemals Passwörter im Klartext, sondern nur deren Hash-Werte. Bei der Anmeldung wird der Hash des eingegebenen Passworts mit dem gespeicherten Hash verglichen. Moderne Systeme verwenden zusätzlich Salting und spezielle Algorithmen wie bcrypt.
Hash-Funktionen sind ein wesentlicher Bestandteil digitaler Signaturen. Statt ein ganzes Dokument zu verschlüsseln, wird nur dessen Hash-Wert mit dem privaten Schlüssel des Absenders verschlüsselt, was effizienter ist und trotzdem die Integrität sicherstellt.
Speichersysteme können Hash-Werte verwenden, um identische Dateien zu identifizieren und nur einmal zu speichern, was Speicherplatz spart. Dies wird häufig in Backup-Systemen und Cloud-Speicherdiensten eingesetzt.
Algorithmus | Länge | Sicherheit | Verwendung |
---|---|---|---|
MD5 | 128 Bit | Niedrig | Nur für Checksummen, nicht für Sicherheitsanwendungen |
SHA1 | 160 Bit | Mittel | Veraltet für Sicherheitsanwendungen |
SHA256 | 256 Bit | Hoch | Moderne Sicherheitsanwendungen |
SHA512 | 512 Bit | Sehr hoch | Höchste Sicherheitsanforderungen |
CRC32 | 32 Bit | Sehr niedrig | Nur für einfache Fehlerprüfung |
Nein, Hash-Funktionen sind so konzipiert, dass sie nur in eine Richtung funktionieren (Einwegfunktionen). Es ist praktisch unmöglich, aus einem Hash-Wert die Originaldaten zu rekonstruieren. Dies ist ein wesentliches Sicherheitsmerkmal von Hash-Funktionen.
Für kurze oder bekannte Eingaben können jedoch vorberechnete Tabellen (Rainbow Tables) existieren, die eine Zuordnung von Hash-Werten zu Originaldaten ermöglichen. Daher werden in der Praxis zusätzliche Techniken wie Salting verwendet, um solche Angriffe zu erschweren.
Die Wahl des Hash-Algorithmus hängt von Ihrem Anwendungsfall ab:
Eine Kollision tritt auf, wenn zwei unterschiedliche Eingaben denselben Hash-Wert erzeugen. Da Hash-Funktionen eine unbegrenzte Menge an möglichen Eingaben auf eine begrenzte Menge an möglichen Hash-Werten abbilden, sind Kollisionen theoretisch unvermeidbar.
Die Kollisionsresistenz ist ein wichtiges Sicherheitsmerkmal von Hash-Funktionen. Ein sicherer Hash-Algorithmus sollte es praktisch unmöglich machen, absichtlich zwei Eingaben zu finden, die denselben Hash-Wert erzeugen.
Ältere Algorithmen wie MD5 und SHA1 gelten als unsicher, da für sie praktische Kollisionsangriffe demonstriert wurden. Für sicherheitskritische Anwendungen sollten daher neuere Algorithmen wie SHA256 oder SHA3 verwendet werden.