Confixx Passwort Verschlüsselung

GalaxyWarrior

Erfahrenes Mitglied
Hi,
ich habe einen Webserver mit Confixx drauf und wollte eine Protalseite proggen über die man sich mit den Confixx Usernamen und Passwort einloggen kann. Nun habe ich das Problem, dass ich es nicht schaffe das Passwort so zu verschlüsseln wie Confixx es macht, damit ich es mit der Datenbank vergleiche kann.

Ich weiß zwar, dass Confixx die Passwörter im Muster
$1$[8_ZEICHEN_SALT]$[PASSWORT_IN_MD5]
verschlüsselt, aber ich bekomme es nicht hin den Salt Wert zu generieren.

Ich habe es mit dem original Confixx Code probiert aber nicht hinbekommen.

Der Confixx Code ist folgender:

PHP:
function mksalt($pwlength) {      
       srand((double)microtime()*1000000);      
       $Zeichen = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
       $pawd = "";      
       while (strlen($pawd) < $pwlength){              
                $pawd .= substr($Zeichen,(rand()%(strlen($Zeichen))),1);    
       }      
       return $pawd;      
} 

function crypt_pw($plainpw) {      
       global $disable_md5;     
       $salt = mksalt(8);         // $disable_md5 = confixx_global in settings.inc.php
       $salt = "\$1\$$salt\$";           
       return crypt($_POST['Password'], $salt);  
} 

$pass = crypt_pw($_POST['Password']);
 
Dein return ist falsch.

Anstatt von
PHP:
return crypt($_POST['password'],$salt);
solltest Du
PHP:
return crypt($plainpw,$salt);
nutzen.
 
Ne geht auch net, der code sieht dann so aus

PHP:
function crypt_pw($plainpw) {
    global $disable_md5;
    $salt = mksalt(8);
        $salt = "\$1\$$salt\$";
    return crypt($plainpw,$salt);
}

Wenn es hilft, kannste dich ja ma auch http://www.tuxx-it.de mit irgendeinem namen einloggen, es wird immer ein anderes verschlüsseltes Passwort rauskommen.
 
Aber der muss ja bei dem entsprechenden Passwort wieder der selbe sein. Sonnst könnte Confixx ja die Passwörter auch nicht abgleichen
 
Also, den Salt ja, aber eben so wie ich beschrieben habe mit dem Passwort zusammen
$1$[8_ZEICHEN_SALT]$[PASSWORT_IN_MD5]
Wenn ich beim verschlüsseln einfach den Salt des Passwortes nehme den ich in der DB finde , dann gehts ja auch, aber dann kann ich ich ja nur mit dem user einloggen, dessen Salt ich statisch eingegeben habe.

PHP:
$pass = crypt($_POST['Password'] , [SALTIMKLARTEXT]);
 
Wenn ein neuer User angelegt wird gibt dieser ja das gewuenschte Passwort ein.
Fuer diesen wird ein neuer Salt generiert und dann auch mit dem Passwort zusammen in die DB geschrieben.
 
Ja, eben in der Form wie ich es geschrieben habe, aber wenn ich mich in Confixx einlogge, dann muss ja das Passwort wieder so verschlüsselt werden, damit man es mit der Datenbank abgleichen kann.
Verstehst du was ich meine?
 
Zurück