PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gegenfunktion zu crypt() ?



cmdrkeen
19-03-2002, 17:04
hi @ll,

gibt es eine funktion, die einen crypt befehl in wiederlesbahre strings umwandelt??


THX

geronet
19-03-2002, 18:31
Ähem, was du willst ist also das Passwort entschlüsseln: Das geht nicht.

Zitat:
Dieser Algorithmus wird
durch die Bibliotheksfunktion crypt* bereitgestellt. Es
handelt sich um eine Ein-Weg-Hashfunktion, die mit kleinen Änderungen aus der
DES-Verschlüsselung entwickelt wurde. Das Ergebnis ist ein 11 Zeichen
langes ``Schlüsselwort''.
Um den Paßwortknackern die Suppe zu versalzen, haben die Entwickler von
crypt ihrer Funktion eine extra Prise Salz hinzugefügt: durch zwei
Zeichen zu je 6 Bit wird die Verschlüsselungsfunktion zusätzlich variiert, so
daß aus einem einzigen Paßwort 4096 verschiedene Schlüsselwörter entstehen
können. Beim Erzeugen eines neuen Paßworts wird dieses Salz zufällig
ausgewählt und mit dem Schlüsselwort zusammen in der Paßwortdatei gespeichert.
Beim nächsten Einloggen wird dann das gespeicherte Salz wieder bei der
Verschlüsselung verwendet und so das Schlüsselwort mit der korrekten
Verschlüsselungsvariante erzeugt.
Durch die Abbildung von 8 auf
11 Zeichen ist eine eineindeutige Zuordnung sichergestellt, es können
also nicht zwei Paßwörter auf das gleiche Schlüsselwort abgebildet
werden. Die Decodierung ist theoretisch denkbar, in der Praxis lohnt
sich der Versuch aber nicht.

Grüsse, Stefan

cmdrkeen
19-03-2002, 19:16
hmmm......und wie verschlüssel ich dann ein passwort und überprüfe es per php? wenn das schon in der mysql-db steht, dann kann ich das gecryptete passwort ja nicht mit der eingabe vergleichen, oder??


THX

JoelH
20-03-2002, 05:32
naja ganz einfach, du verschlüsselst die Eingabe und dann vergleichst du die beiden Resultate miteinander.
Mehr da zun dem Salz ==>
www.php.net/manual/de/function.crypt.php