Fix: remplace rand par mt_rand plus performant

This commit is contained in:
Regis Houssin 2009-05-19 21:51:08 +00:00
parent 572a89e1d3
commit 1437913f39
5 changed files with 6 additions and 6 deletions

View File

@ -62,7 +62,7 @@ class FPDI_Protection extends FPDI {
$protection += $options[$permission]; $protection += $options[$permission];
} }
if ($owner_pass === null) if ($owner_pass === null)
$owner_pass = uniqid(rand()); $owner_pass = uniqid(mt_rand());
$this->encrypted = true; $this->encrypted = true;
$this->_generateencryptionkey($user_pass, $owner_pass, $protection); $this->_generateencryptionkey($user_pass, $owner_pass, $protection);
} }

View File

@ -277,7 +277,7 @@ function makesalt($type=CRYPT_SALT_LENGTH)
$saltlen=2; $saltprefix=''; $saltsuffix=''; break; $saltlen=2; $saltprefix=''; $saltsuffix=''; break;
} }
$salt=''; $salt='';
while(strlen($salt) < $saltlen) $salt.=chr(rand(64,126)); while(strlen($salt) < $saltlen) $salt.=chr(mt_rand(64,126));
$result=$saltprefix.$salt.$saltsuffix; $result=$saltprefix.$salt.$saltsuffix;
dol_syslog("security.lib.php::makesalt return=".$result); dol_syslog("security.lib.php::makesalt return=".$result);

View File

@ -168,7 +168,7 @@ session_start();
dol_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".(isset($_SESSION["dol_login"])?$_SESSION["dol_login"]:'').", ".ini_get("session.gc_maxlifetime")); dol_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".(isset($_SESSION["dol_login"])?$_SESSION["dol_login"]:'').", ".ini_get("session.gc_maxlifetime"));
// Creation d'un jeton contre les failles CSRF // Creation d'un jeton contre les failles CSRF
$token = md5(uniqid(rand(),TRUE)); // Genere un hash d'un nombre aleatoire $token = md5(uniqid(mt_rand(),TRUE)); // Genere un hash d'un nombre aleatoire
// roulement des jetons car cree a chaque appel // roulement des jetons car cree a chaque appel
if (isset($_SESSION['token_level_1'])) $_SESSION['token_level_2'] = $_SESSION['token_level_1']; if (isset($_SESSION['token_level_1'])) $_SESSION['token_level_2'] = $_SESSION['token_level_1'];
if (isset($_SESSION['newtoken'])) $_SESSION['token_level_1'] = $_SESSION['newtoken']; if (isset($_SESSION['newtoken'])) $_SESSION['token_level_1'] = $_SESSION['newtoken'];

View File

@ -30,7 +30,7 @@
$sessionname="DOLSESSID_PAYBOX"; $sessionname="DOLSESSID_PAYBOX";
session_name($sessionname); session_name($sessionname);
session_start(); session_start();
$token = md5(uniqid(rand(),TRUE)); // Genere un hash d'un nombre aleatoire $token = md5(uniqid(mt_rand(),TRUE)); // Genere un hash d'un nombre aleatoire
// roulement des jetons car cree a chaque appel // roulement des jetons car cree a chaque appel
if (isset($_SESSION['newtoken'])) $_SESSION['token'] = $_SESSION['newtoken']; if (isset($_SESSION['newtoken'])) $_SESSION['token'] = $_SESSION['newtoken'];
$_SESSION['newtoken'] = $token; $_SESSION['newtoken'] = $token;

View File

@ -1784,7 +1784,7 @@ function creer_pass_aleatoire_1($sel = "")
{ {
$longueur = 8; $longueur = 8;
return strtolower(substr(md5(uniqid(rand())),0,$longueur)); return strtolower(substr(md5(uniqid(mt_rand())),0,$longueur));
} }
@ -1806,7 +1806,7 @@ function creer_pass_aleatoire_2($sel = "")
{ {
if (!$s) if (!$s)
{ {
if (!$s) $s = rand(); if (!$s) $s = mt_rand();
$s = substr(md5(uniqid($s).$sel), 0, 16); $s = substr(md5(uniqid($s).$sel), 0, 16);
} }
$r = unpack("Cr", pack("H2", $s.$s)); $r = unpack("Cr", pack("H2", $s.$s));