phpbar.de logo

Mailinglisten-Archive

[php] crypt()

[php] crypt()

Steffen Sander s.sander_(at)_crs.de
Thu, 27 Jan 2000 10:20:56 +0000


Michael Kaiser schrieb:

> Hallo Liste !
>
> Ich habe ein kleines Programm geschrieben, dass
> mit .htpasswd-Dateien aus einer Datenbank generiert.
> Das Problem ist, dass zwar alles schön in die Dateien
> eingetragen wird, man aber mit den Logins nicht
> einloggen kann.
>
> Der Code:
>
> $fp = fopen($file, "w");
> $result = mysql_query($sql);
> while ($row = mysql_fetch_array($result))
>   {
>   $pw = crypt($row[email], $salt);
>   fwrite($fp, "$row[login]:$pw\n");
>   echo $row[first_name].' '.$row[last_name].'<br>';
>   }
> fclose($fp);
>
> Es kommen Login raus, die in meinen Augen ganz
> gut aussehen (z.B. michael:iYoVjiCaMSM3I), sie
> funktionieren nur einfach nicht !
> Weiß jemand, woher das kommt und wie man
> korrekt verschlüsseln kann ?
> Danke !
>
> --Michael
> _____________________________________________________________

Ich hoffe das es Armin Steiner recht ist, daß ich hier seinen Kommentar
einfüge, denn bei mir hatte es dann so funktioniert.
...

> Armin Steiner schrieb:

> > 3.
> > Bei erfolgter Authentifizierung die ID des Benutzers durch einen
> > eigenen Verschlüsselungsalgorithmus codiert mitschleppen, damit
> > es keinem zu leicht gemacht wird.
>
> mit crypt() habe ich das mal getestet.
> Über ein Formular wurde das PW vergeben, mit crypt() verschlüsselt in die

> Datenbank
> eingetragen, aber beim Login wurde ein anderer String durch crypt()
> erzeugt.
> Wie hast Du das Problem gelöst?
>

Du musst, bevor Du die Usereingabe durch crypt() schickst den
salt (die ersten zwei Zeichen) aus dem gespeicherten pw holen und dieses
als
salt für die Usereingabe verwenden. Also:
    $salt = substr ($Upasswd,0,2);
    $Cpasswd = crypt($Upassword,$salt);


$suffix="&attempt=2";
IF ($Cpasswd != $Upasswd):
              include($file);
              exit;
              ENDIF;
$Upasswd=gespeichertes Passwort
$Upassword=eingegebenens Passwort
Sind die unterschiedlich fliegt der Mensch raus,
wenn nicht geht es weiter ...
CU

--


--
Steffen Sander - Softwareentwicklung
CRS Computer Register Service GmbH -  Ritterstr. 11 - 10969 Berlin
eMail s.sander_(at)_crs.de -Tel: +49-30-614 60 01 - Fax: +49-30-614 85 81
http://www.crs.de - http://www.markthalle.de - http://www.stadtnetz.net




php::bar PHP Wiki   -   Listenarchive