ich habe neulich hier etwas von Passwortverschlüsselung mittels MD5-Algoritmus gelesen. Ich weiß insofern nur, daß es sich dabei um eine Einweg-Hash-Verschlüsselung handelt. Aber was heißt das genau und was bringt mir das, wenn ich z.b. einen Passwortschutz für eine Website einbauen will, der z.b. nicht auf .htaccess beruht.
Wie du bereits sagtest, funktioniert MD5 nur in eine Richtung und insofern würde ich das auch nicht unbedingt als Verschlüsselung bezeichnen, zumindest ist der Name ein reichlich irreführend.
Der Witz an der MD5-"Verschlüsselung" ist schlicht und ergreifend, daß es so gut wie unmöglich ist, aus zwei verschiedenen Quellen das gleiche MD5-Ergebnis zu erhalten. Es handelt sich also eigentlich um die Erzeugung einer eindeutigen Nummer oder Prüfsumme. Eine Verschlüsselung würde bedeuten, daß es auch wieder etwas zum Entschlüsseln gibt, das ist aber nicht der Fall.
Die MD5-Verschlüsselung von Passworten funktioniert denn auch nicht so, daß die Passworte "roh" verglichen werden. Vielmehr wird die MD5-Prüfsumme jedes eingegebenen Passwortes mit der gespeicherten Prüfsumme des richtigen Passwortes verglichen. Da es diese Prüfsumme quasi nur einmal gibt, kann man davon ausgehen, daß auch die "rohen" Passworte übereinstimmen.
Der Zusatzeffekt ist, daß wenn ein Eindringling Zugriff zum Beispiel auf die .htaccess hat, er mit der dort gespeicherten MD5-Prüfsumme des Originalpasswortes absolut nichts anfangen kann. Er kann diese Summe nicht entschlüsseln, um an das Originalpasswort zu kommen, und er kann diese Prüfsumme auch nicht an die Passwortabfrage übergeben, weil die ja das übergebene Passwort selber erst MD5-kodiert und nur das Ergebnis daraus vergleicht.
Sind dann das Passwort bzw. die Daten selbst verschlüsselt während der Übertragung, bei SSL ist ja die gesamte Übertragung verschlüsselt nach meinen Kenntnissen.
Mit der Übertragung hat das Prinzip erstmal eher wenig zu tun.
Und wo liegen die Vorteile gegenüber einem key-basierten Verschlüsselungssystem wie RC-4.
Ganz einfach: Du brauchst keine Schlüssel, um dein Passwort auf dem Server zu schützen.
Gruß,
soenk.e