🌐 DE

🔐 Hash-Generator

Wandeln Sie Text in verschiedene Hash-Algorithmen um. Wird zur Überprüfung der Dateiintegrität, zum Hashen von Passwörtern und zur Datenvalidierung verwendet.

Wählen Sie eine Datei aus, um den Hash ihres Inhalts zu erzeugen
RATGEBER

Mehr erfahren

01

1. Was sind Hash-Funktionen

Hash-Funktionen sind Einwegfunktionen, die Daten beliebiger Größe in einen Wert fester Größe umwandeln. Sie besitzen einen Lawineneffekt: Schon eine minimale Änderung der Eingabe erzeugt einen völlig anderen Hash, während dieselbe Eingabe stets denselben Wert liefert. MD5 erzeugt einen 128-Bit-, SHA-1 einen 160-Bit- und SHA-256 einen 256-Bit-Hash. Da Hashes Einwegfunktionen sind, die nicht entschlüsselt werden können, eignen sie sich ideal zur Integritätsprüfung, ohne die ursprünglichen Daten preiszugeben. Sie werden häufig bei der Überprüfung von Datei-Downloads, der Passwortspeicherung, in der Blockchain, bei digitalen Signaturen und mehr eingesetzt.

02

2. Vergleich der Algorithmen MD5 und SHA

MD5 ist ein 1991 entwickelter 128-Bit-Hash, der sehr schnell, aber anfällig für Kollisionsangriffe ist. Schwerwiegende Sicherheitslücken, die 2004 entdeckt wurden, machen ihn für kryptografische Zwecke ungeeignet; er wird nur noch für Datei-Prüfsummen verwendet. SHA-1 ist ein 160-Bit-Hash, der sicherer als MD5 ist, wurde jedoch nach der Ankündigung tatsächlicher Kollisionsfälle durch Google im Jahr 2017 nicht mehr weiterverwendet. SHA-256 gehört zur SHA-2-Familie, erzeugt 256-Bit-Hashes und ist derzeit der am weitesten verbreitete Standard. Auch Bitcoin verwendet SHA-256. SHA-512 bietet mit 512 Bit höhere Sicherheit, ist aber langsamer. Neue Systeme sollten SHA-256 oder höher verwenden.

03

3. Sicherheit und Schwachstellen von Hash-Funktionen

Hash-Funktionen müssen drei wesentliche Sicherheitsanforderungen erfüllen. Erstens die Urbild-Resistenz: Es sollte schwierig sein, aus dem Hash-Wert das Original zu ermitteln. Zweitens die Zweitbild-Resistenz: Es sollte schwierig sein, eine andere Eingabe zu finden, die denselben Hash erzeugt. Drittens die Kollisionsresistenz: Es sollte schwierig sein, zwei verschiedene Eingaben zu finden, die denselben Hash erzeugen. Bei MD5 und SHA-1 ist die Kollisionsresistenz gebrochen, wodurch Angreifer absichtlich denselben Hash erzeugen können. Rainbow-Table-Angriffe nutzen vorberechnete Hash-Tabellen zur Rückverfolgung, dem kann jedoch durch Hinzufügen eines Salts entgegengewirkt werden.

04

4. Überprüfung der Dateiintegrität

Der Hash-Wert einer Datei ist die effektivste Methode, um zu überprüfen, ob eine heruntergeladene Datei nicht verändert wurde. Software-Distributionsseiten stellen zu ihren Dateien den offiziellen Hash-Wert bereit. Nutzer berechnen nach dem Download den Hash der Datei und vergleichen ihn mit dem offiziellen Wert. Schon ein einziges abweichendes Bit erzeugt einen völlig anderen Hash und deckt so jede Manipulation sofort auf. Unverzichtbar bei Linux-ISO-Images, Open-Source-Software, Blockchain-Transaktionen und mehr. Auch Git erzeugt für jeden Commit einen SHA-1-Hash, um die Integrität des Codes sicherzustellen. Zudem kann der Hash Beschädigungen durch Netzwerkfehler bei der Übertragung großer Dateien erkennen.

05

5. Best Practices beim Hashen von Passwörtern

Speichern Sie Passwörter niemals im Klartext in einer Datenbank. Sie müssen in Hashes umgewandelt werden, doch ein einfaches MD5 oder SHA-256 reicht nicht aus, da es anfällig für Rainbow-Table-Angriffe ist. Ein Salt muss unbedingt hinzugefügt werden. Das Salt ist eine zufällige Zeichenfolge, die dem Passwort hinzugefügt wird, sodass dasselbe Passwort unterschiedliche Hashes erzeugt. Darüber hinaus sollten langsame Hash-Funktionen wie bcrypt, scrypt oder Argon2 verwendet werden. Diese verlangsamen die Berechnung absichtlich, um Brute-Force-Angriffe zu erschweren. OWASP empfiehlt Argon2 als bevorzugte Wahl zum Hashen von Passwörtern.

06

6. Rainbow-Tabellen und Salt

Rainbow-Tabellen (Rainbow Tables) sind riesige Datenbanken vorberechneter Hash-Werte. Sie speichern im Voraus die Hashes von Millionen gängiger Passwörter und gleichen sie mit gestohlenen Hashes ab, um die ursprünglichen Passwörter zu ermitteln. Der MD5-Wert von „password123" lautet beispielsweise stets „482c811da5d5b4bc6d497ffa98491e38" und kann daher sofort in der Tabelle gefunden werden. Ein Salt schützt davor. Durch das Hinzufügen einer für jeden Nutzer einzigartigen Zufallszeichenfolge erzeugt dasselbe Passwort unterschiedliche Hashes. Das Hashen von „password123" + „x8k2m9" erzeugt einen Wert, der in keiner Rainbow-Tabelle enthalten ist. Das Salt kann im Klartext in der Datenbank gespeichert werden, doch jedes Passwort muss ein anderes Salt verwenden, damit dies wirksam ist.