Mailinglisten-Archive |
HI Liste Irgenwie habe ich ein komisches Verhalten von crypt(). Folgende Situation. Ich habe passwörter in einer Datenbank liegen die ich gegen eine Formulareingabe prüfe. beides wird vorher mit crypt() behandelt. Salt wird natürlich vorher ausgelesen. Funktioniert auch soweit. Nun dachte ich aber letztens mal das ich mein pwd falsch eingegeben hätte (ein Buchstabe zuviel) und wartete schon auf die Fehlermeldung, nur leider blieb diese aus. Also habe ich mal angefangen rumzuprobieren und versucht das Problem zu finden. Folgendes kleines Script ist entstanden. <? $pass = "dasistmeinpasswort"; $count = 0; $salt = "fo"; WHILE ($pass[$count] != ''){ $passwort .= $pass[$count]; $crypt_pass = crypt($passwort, $salt); echo "crypt: $crypt_pass | Passwort: $passwort<br>"; $count++; } ?> Wenn man dies nun laufen läst erkennt man sehr gut das das Passwort bis zur 7. stelle immer einen unterschieldichen crypt ergiebt, aber sobald es mehr als siebenstellig wird erhalte ich immerwieder das selbe Ergebniss. Wenn ich den Salt weglasse kommt es bei jedem zu einem anderen Ergebniss. Das nützt mir aber nix da ich ja die Passwörter vergleichen muß und dazu den Salt benötige. Hat ewentuell jemand was änliches beobachtet, oder mache ich was falsch. Das Problem tritt übrigens überall auf. Sowohl auf Linux also auch auf W2k, an der Plattform sollte es also nicht liegen. Auch php3&4 scheinen ddabei gleich zu reagieren cya later Stephan
php::bar PHP Wiki - Listenarchive