Modif pour rendre plus modulaire la fonction de fabrication d'un mot de passe
This commit is contained in:
parent
3ee2424bde
commit
46a875111f
@ -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
|
\brief Fonction pour initialiser un salt pour la fonction crypt
|
||||||
\param $type 2=>renvoi un salt pour cryptage DES
|
\param $type 2=>renvoi un salt pour cryptage DES
|
||||||
|
|||||||
@ -927,8 +927,8 @@ class User
|
|||||||
if (! $password)
|
if (! $password)
|
||||||
{
|
{
|
||||||
// TODO Mettre appel au module de génération de mot de passe
|
// TODO Mettre appel au module de génération de mot de passe
|
||||||
$longueurmotdepasse=8;
|
$password=creer_pass_aleatoire_1('');
|
||||||
$password = strtolower(substr(md5(uniqid(rand())),0,$longueurmotdepasse));
|
//$password=creer_pass_aleatoire_2('');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cryptage mot de passe
|
// 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;
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user