diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 6fc9dba44fe..90c10f41b62 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -1854,34 +1854,6 @@ function yn($yesno, $case=1) { } -/** - \brief Fonction pour créer un mot de passe aléatoire - \param longueur longueur du mot de passe (8 par defaut) - \param sel donnée aléatoire - \remarks la fonction a été prise sur http://www.uzine.net/spip -*/ -function creer_pass_aleatoire($longueur = 8, $sel = "") { - $seed = (double) (microtime() + 1) * time(); - srand($seed); - - for ($i = 0; $i < $longueur; $i++) { - if (!$s) { - if (!$s) $s = rand(); - $s = substr(md5(uniqid($s).$sel), 0, 16); - } - $r = unpack("Cr", pack("H2", $s.$s)); - $x = $r['r'] & 63; - if ($x < 10) $x = chr($x + 48); - else if ($x < 36) $x = chr($x + 55); - else if ($x < 62) $x = chr($x + 61); - else if ($x == 63) $x = '/'; - else $x = '.'; - $pass .= $x; - $s = substr($s, 2); - } - return $pass; -} - /** \brief Fonction pour initialiser un salt pour la fonction crypt \param $type 2=>renvoi un salt pour cryptage DES diff --git a/htdocs/user.class.php b/htdocs/user.class.php index 1c88403d1c5..17ed5da0460 100644 --- a/htdocs/user.class.php +++ b/htdocs/user.class.php @@ -927,8 +927,8 @@ class User if (! $password) { // TODO Mettre appel au module de génération de mot de passe - $longueurmotdepasse=8; - $password = strtolower(substr(md5(uniqid(rand())),0,$longueurmotdepasse)); + $password=creer_pass_aleatoire_1(''); + //$password=creer_pass_aleatoire_2(''); } // Cryptage mot de passe @@ -1389,4 +1389,53 @@ class User } } + +/** + \brief Fonction pour créer un mot de passe aléatoire en minuscule + \param sel Donnée aléatoire + \return string Mot de passe +*/ +function creer_pass_aleatoire_1($sel = "") +{ + $longueur = 8; + + return strtolower(substr(md5(uniqid(rand())),0,$longueur)); +} + + +/** + \brief Fonction pour créer un mot de passe aléatoire mélangeant majuscule, + minuscule, chiffre et alpha et caractères spéciaux + \remarks La fonction a été prise sur http://www.uzine.net/spip + \param sel Donnée aléatoire + \return string Mot de passe +*/ +function creer_pass_aleatoire_2($sel = "") +{ + $longueur=8; + + $seed = (double) (microtime() + 1) * time(); + srand($seed); + + for ($i = 0; $i < $longueur; $i++) + { + if (!$s) + { + if (!$s) $s = rand(); + $s = substr(md5(uniqid($s).$sel), 0, 16); + } + $r = unpack("Cr", pack("H2", $s.$s)); + $x = $r['r'] & 63; + if ($x < 10) $x = chr($x + 48); + else if ($x < 36) $x = chr($x + 55); + else if ($x < 62) $x = chr($x + 61); + else if ($x == 63) $x = '/'; + else $x = '.'; + $pass .= $x; + $s = substr($s, 2); + } + + return $pass; +} + ?>