diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 5f34600efba..2715ba29794 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -1822,23 +1822,29 @@ function creer_pass_aleatoire($longueur = 8, $sel = "") { /** \brief Fonction pour initialiser un salt pour la fonction crypt \param $type 2=>renvoi un salt pour cryptage DES - 8=>renvoi un salt pour cryptage MD5 - 0=>renvoi un salt pour cryptage par defaut + 12=>renvoi un salt pour cryptage MD5 + non defini=>renvoi un salt pour cryptage par defaut \return string Chaine salt */ function makesalt($type=CRYPT_SALT_LENGTH) { + dolibarr_syslog("functions.inc::makesalt type=".$type); switch($type) { - case 8: + case 12: // 8 + 4 $saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break; - case 2: + case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilisé) + $saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break; + case 2: // 2 default: // by default, fall back on Standard DES (should work everywhere) $saltlen=2; $saltprefix=''; $saltsuffix=''; break; } $salt=''; while(strlen($salt) < $saltlen) $salt.=chr(rand(64,126)); - return $saltprefix.$salt.$saltsuffix; + + $result=$saltprefix.$salt.$saltsuffix; + dolibarr_syslog("functions.inc::makesalt return=".$result); + return $result; } /** diff --git a/htdocs/user.class.php b/htdocs/user.class.php index 2429bcbf159..ed9fbcd6496 100644 --- a/htdocs/user.class.php +++ b/htdocs/user.class.php @@ -887,6 +887,8 @@ class User global $langs; $longueurmotdepasse=8; + dolibarr_syslog("User.class::password user=".$user." password=--hidden-- isencrypted=".$isencrypted); + if (! $password) { $password = strtolower(substr(md5(uniqid(rand())),0,$longueurmotdepasse)); @@ -894,7 +896,9 @@ class User if ($isencrypted) { - $sqlpass = crypt($password, "CRYPT_STD_DES"); + // Crypte avec systeme encodage par defaut du PHP + //$sqlpass = crypt($password, makesalt()); + $sqlpass = md5($password); } else {