Dies und das

MD5-Hash-Generator: MD5-Hash ermitteln

Mit diesem MD5-Generator lässt sich aus einem String utf-8-sicher ein MD5-Hash generieren.

Zeichenkette (die Berechnung ist utf-8-sicher):


(Achtung: die Länge ist begrenzt)

Was ist ein MD5-Hash? (In einem Satz erklärt)

Mit der MD5-Verschlüsselung kann man eine beliebige Zeichenkette (String) in eine 32-stellige Hexadezimalzahl (128-Bit) umwandeln.

Der MD5-Hash etwas genauer erklärt

MD5 (Message-Digest Algorithm 5) ist eine kryptologische Funktion, die als Eingabe einen beliebigen String erwartet. Heraus kommt immer ein 32-Stelliger String (auch Hexadezimalzahl genannt).

Schon leicht abgeänderte Eingabe-Strings erzeugen völlig andere Hash-Werte. Da die Hash-Länge nur 32 Stellen beträgt, ist auch logisch, dass verschiedene Eingabe-Strings den gleichen Hash-Wert haben können.

Ein direktes Entschlüsseln ist nicht möglich, da die Verschlüsselung nicht umkehrbar ist. Das heißt: man kann aus dem Hash-Wert nicht auf die Ursprungs-Zeichenkette schließen. Bis vor einiger Zeit galt die Verschlüsselung deswegen als sicher, da es nicht einfach war, z.B. bei verschlüsselten Passwörtern einen weiteren String zu finden, der den gleichen Hash-Wert besitzt. Mit heutiger Technik ist solch ein Angriff jedoch kaum noch ein Problem (z.B. mit Wörterbuch-Attacken).

Als weitere Anwendung wird der MD5-Hash oft als Prüfsumme verwendet, um Veränderungen von Zeichenketten zu erkennen bzw. deren Integrität zu prüfen (zum Beispiel, um zu ermitteln, ob eine aus dem Internet heruntergeladene Datei komplett und fehlerfrei ist).

MD5 wurde 1991 von Ronald L. Rivest entwickelt.

Wozu brauche ich einen MD5-Hash?

  • Zur Integritätsprüfung von Zeichenketten (z.B. Dateien)
  • Zur verschlüsselten Speicherung von Passwörtern (z.B. in Datenbanken). Unbefugte können die Passwörter nicht auslesen, weil man den Hash-Wert nicht zurückrechnen kann (gilt aber heute nicht mehr als sicher).

Hier eine ganz einfache Anwendung mit der Skript-Sprache PHP

// Hash-Wert: b7fbd7ad4e9f05c7390649ca4e905275
$md5_hash = md5( 'Das ist eine Zeichenkette (String)' );
 
// Hash-Wert: 382cd9d339080cbdfd4c25ace19ef8ef
$md5_hash = md5( 'Das ist eine zweite Zeichenkette (String)' );

Wie man sieht, unterscheiden sich beide Hash-Werte völlig von einander, obwohl nur ein Wort in den Satz eingefügt wurde.