phpbar.de logo

Mailinglisten-Archive

[php] crypt funktioniert nicht auf dem lokalen rechner

[php] crypt funktioniert nicht auf dem lokalen rechner

Ralf Geschke php_(at)_phpcenter.de
Sun, 21 Oct 2001 16:30:04 +0200


On Son, 21 Okt 2001, truheml_(at)_metal.de wrote:
> 
> habs bei mir mal mit dem apache-modul und dem binary probiert. beide
> funktionieren nicht... :(

Das kann man ja bald nicht mehr mitanlesen...

Also schauen wir mal ins Manual:
string crypt (string str [, string salt])

Da steht also string salt als optionaler Parameter. 
Insofern kann crypt mit oder ohne salt benutzt werden.
Als Salt wird aber keine Konstante wie Du sie benutzt,
uebergeben. 
Die Konstanten sind auf 0 oder 1 gesetzt, je nach dem, welches
Verschluesselungsverfahren fuer die crypt-Funktion zur Verfuegung
steht. 

Wenn Du also crypt() anwendest und ein 32 Zeichen langer String
entsteht, liegt die Vermutung nahe, dass die MD5-Verschluesselung
benutzt wird. 

Wenn bei crypt() ein 12 Zeichen langer String herauskommt, 
ist dies vermutlich die Standard-DES-Verschluesselung. 

Welche auf Deinen Systemen vorhanden sind, kannst nur Du selbst
herausfinden. Aber es duerfte logisch sein, dass verschluesselter
Text in MD5-Kodierung anders aussieht als wenn DES angewendet wurde. 

Gehen wir mal von Standard-DES aus:

Du verschluesselst mit crypt("Passwort","geheim");
"geheim" ist dabei das Salt, was dafuer sorgt, dass es unterschiedliche
Ergebnisse gibt, je nach gewaehltem Salt. 

Um einen String vergleichen zu koennen, muss somit dasselbe Salt
benutzt werden, wobei bei DES AFAIK genuegt, die ersten zwei
Zeichen des verschluesselten Strings als Salt zu verwenden.

Beste Gruesse,
   Ralf
-- 
: www  : http://www.bttr.org  :  mail: ralf_(at)_bttr.org
: Eine Site rund um MySQL     :  http://www.bttr.org/mysql/
: Privacy now! My Public Key  :  http://www.bttr.org/geschke.asc


php::bar PHP Wiki   -   Listenarchive