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 Ich weiss nicht unbeding woran das liegt, aber meinereiner nutzt md5() um passwörter zu vershclüsseln und das bis her immer gut funktioniert. -boris
php::bar PHP Wiki - Listenarchive