Mailinglisten-Archive |
Moin Moin! > > crypt ist zwar schon ein one-way-algoritmus (ich weiß, falsch > > geschrieben ;), aber man kann ja immernoch auf die art vorgehen, dass man > > durch crypt alle möglichen kombinationen laufen lässt, und die mit dem > > anderen vergleicht... > > daher ist es auch besser das passwort nicht mit einem festen salt zu > > erzeugen, sondern mit einem salt aus dem passwort (z.b. mit > > $passwd=substr($string,2,2)) > > Bitte nicht! > Damit landen die ersten beiden Buchstaben des Benutzerpasswortes als > Klartext im verschluesselten Wert, was natuerlich unsinnig ist. > Wenn ein Passwort eingegeben wird, muss das salt zufaellig gewaehlt > werden (im Bereich "./0-9A-Za-z0-9") . Es wird benutzt, um die > Hashfunktion des crypt() zu verwuerfeln und landet dann in den ersten > beiden Zeichen des verschluesselten Wertes. > Wenn eine Passworteingabe ueberprueft werden soll, muessen die beiden > ersten Zeichen des vorhandenen, verschluesselten Passwortes als salt > fuer die Verschluesselung der Eingabe genommen werden, um das Ergebnis > vergleichen zu koennen (weil crypt() ja nur in eine Richtung arbeitet). Ein Frage hab ich dazu: crypt() verschlüsselt direkt in php3 ... und kann nicht rückgängig gemacht werden, wenn ich das hier richtig verstehe ... Also, wenn ich das Passwort vergleichen will, muß ich die Eingabe erst wieder mit dem $salt des Original Passworts verschlüsseln und dann vergleichen oder wie? Kann mir zufällig jemand sagen wie ENCODE(...) DECODE(...) bei mySQL funktionieren? danke, mfg Thomas
php::bar PHP Wiki - Listenarchive