md5() Daten Generator von Php-Space.info
Hier können Sie Ihr Code mit md5() Verschlüsselungsfunktion
(häufig auch Komprimierungsfunktion genannt)
verschlüsseln!
Was ist ein md5 Hash?
Der Message-Digest Algorithm 5, kurz
MD5 genannt, ist ein Verschlüsselungsalgorithmus,
welcher aus einer beliebigen Zeichenfolge
auf Basis verschiedener Werte eine zufällige
Zeichenkette von immer exakt 32 Zeichen
(=32 Bytes) erzeugt. Dabei wird für
eine Zeichenkette immer derselbe MD5-Hash
erzeugt. Daher ist es möglich, Daten
verschlüsselt abzuspeichern und
zu vergleichen, bspw. bei Passwortabfragen
im Login von Webseiten und Foren.
Die Hashfunktion MD5 wurde 1991 von Ronald
L. Rivest am berühmten MIT, dem
Massachusetts Institute of Technology,
entwickelt, als Mathematiker Analysen
betrieben, welche zutage förderten,
dass der Vorgänger MD4 geknackt
werden könnte und somit die verschlüsselten
Daten nicht mehr sicher wären.
Doch bereits fünf Jahre später
fand man heraus, dass auch der MD5 nicht
hundertprozentig sicher war und es eine
sogenannte Kollision bei der Berechnung
eines MD5-Hashes gab, weswegen man 1996
empfahl, auf sicherere Algorithmen umzusteigen,
wenn es um die Sicherheit wirklich wichtiger
Daten ging. Für Passwörter
bei Websites und Foren wird auch heute
noch die MD5-Funktion verwendet, da zum
Knacken der Funktion auch heute noch
ein enormer Aufwand betrieben werden
muss und sich dies zumeist nicht lohnt.
Unter einer Kollision versteht man bei
MD5 die Tatsache, dass gewisse Regelmäßigkeiten
in den Ausgangstexten sich ebenso in
den verschlüsselten Texten widerspiegeln,
wodurch es möglich wird, mit MD5
verschlüsselte Texte wieder zu entschlüsseln.
Der Message-Digest Algorithm 5 wird heute
wegen dieser Kollisionen nicht mehr fürdie
Verschlüsselung von wichtigen Texten
verwendet, sondern nur noch für
unsensible bzw. mehr oder weniger wertlose
Daten. Dabei gibt es zwei große
Anwendungsgebiete.
Das erste Anwendungsgebiet besteht in
der Passwortsicherung. Bei der Anmeldung
in Foren oder in Webseiten werden zumeist
Passwörter von den Benutzern verlangt,
mit denen sie sich jederzeit anmelden
können. Damit die Administratoren
und/oder andere Personen, welche Zugang
zu den Datenbanken, in denen jene Passwörter
gespeichert sind, nicht in die Lage kommen,
Passwörter einzusehen, müssen
diese Passwörter gesichert werden.
Da man aber einerseits eine schnelle
Verschlüsselung haben möchte,
andererseits aber eine möglichst
uneindeutige, bietet sich der MD5-Algorithmus
an. Mit ihm kann jedes Passwort auf 32
Zeichen gekürzt bzw. verlängert
werden und dann so verschlüsselt
abgespeichert werden.
Wenn sich der Benutzer nun einloggen
möchte, so nutzt man aus, dass bei
jeder MD5-Berechnung derselbe Wert für
dieselbe Zeichenkette herauskommt. Hat
der Nutzer also das korrekte Passwort
eingegeben, so wird derselbe MD5-Wert
berechnet, welcher auch in der Datenbank
steht. Und da jedem Hash genau eine Zeichenkette
zugeordnet werden kann, ist es auch nicht
möglich, sich zufälligerweise
mit einem falschen Passwort einloggen
zu können.
Das zweite Anwendungsgebiet von MD5 besteht
in der Konsistenzsicherung von Dateien.
Das bedeutet, in der Sicherstellung,
dass eine Datei sich nicht verändert
hat. Dies kann zum Beispiel beim Download
von Dateien der Fall sein. Wenn nämlich
eine Datei ein falsches Byte enthält
(Bei Downloads können immer wieder
Verbindungsprobleme auftreten, wodurch
die übertragenen Daten verfälscht
werden. Bei ausführbaren Dateien
kann dies bereits schwere Systemschäden
hervorrufen), verändert sich auch
der MD5-Code. Da ein Vergleich von Dateien
zu wesentlichen Teilen bei Downloads
nötig ist, und man die Datei auf
dem Server nicht direkt mit der heruntergeladenen
Datei vergleichen kann, ist es nötig,
diese MD5-Hashes zu generieren, welche
für einen Dateivergleich verwendet
werden können.
Allerdings sind solche Vergleiche lediglich
bei besonders großen Dateien, wie
zum Beispiel Image-Dateien (Also als
eine einzige Datei auf dem Rechner gespeicherte
CDs), speziell bei Betriebssystemen (Wie
Linux-Betriebssysteme, welche fast ausschließlich
per Image-Datei geliefert werden) wirklich
empfehlenswert. Kleinere Dateien und
besonders Bilder, sonstige Multimediadateien
und Textdateien werden nur selten überprüft,
da hier keine absolute Notwendigkeit
besteht - ein paar falsche Bytes werden
z.B. von MP3-Abspielsoftware meist erkannt
und somit korrigiert.
MD5-Funktionen sind sehr häufig
anzutreffen und in vielen Programmen
integriert. So bietet z.B. die Skriptsprache
PHP eine eingebaute Funktion, um aus
einer Zeichenkette einen MD5-Hash zu
generieren. Ebenso gibt es viele Programme,
welche die Berechnung von MD5-Hashes
für Dateien und Ordner stark vereinfachen.
MD5 ist aufgrund seiner Einfachheit und
gleichzeitig sehr hohen Sicherheit aus
dem heutigen Computeralltag nicht mehr
weg zu denken. |