par
MichelC » 14 avr. 2010, 13:41
Merci pour ton aide. Sur cette base j'ai revu le code de la classe et désactivé une ligne qui était marquée comme non nécessaire après PHP 4.2.0 (voir ci-dessous). La fonctionnalité est OK maintenant
Source:
http://wiki.jumba.com.au/wiki/PHP_Gener ... m_password
function RandomPassword($PwdLength=8, $PwdType='standard')
{
// $PwdType can be one of these:
// test .. .. .. always returns the same password = "test"
// any .. .. .. returns a random password, which can contain strange characters
// alphanum . .. returns a random password containing alphanumerics only
// standard . .. same as alphanum, but not including l10O (lower L, one, zero, upper O)
//
$Ranges='';
if('test'==$PwdType) return 'test';
elseif('standard'==$PwdType) $Ranges='65-78,80-90,97-107,109-122,50-57';
elseif('alphanum'==$PwdType) $Ranges='65-90,97-122,48-57';
elseif('any'==$PwdType) $Ranges='40-59,61-91,93-126';
if($Ranges<>'')
{
$Range=explode(',',$Ranges);
$NumRanges=count($Range);
mt_srand(time()); //not required after PHP v4.2.0
$p='';
for ($i = 1; $i <= $PwdLength; $i++)
{
$r=mt_rand(0,$NumRanges-1);
list($min,$max)=explode('-',$Range[$r]);
$p.=chr(mt_rand($min,$max));
}
return $p;
}
}
Merci pour ton aide. Sur cette base j'ai revu le code de la classe et désactivé une ligne qui était marquée comme non nécessaire après PHP 4.2.0 (voir ci-dessous). La fonctionnalité est OK maintenant
[b]Source[/b]: http://wiki.jumba.com.au/wiki/PHP_Generate_random_password
[php]function RandomPassword($PwdLength=8, $PwdType='standard')
{
// $PwdType can be one of these:
// test .. .. .. always returns the same password = "test"
// any .. .. .. returns a random password, which can contain strange characters
// alphanum . .. returns a random password containing alphanumerics only
// standard . .. same as alphanum, but not including l10O (lower L, one, zero, upper O)
//
$Ranges='';
if('test'==$PwdType) return 'test';
elseif('standard'==$PwdType) $Ranges='65-78,80-90,97-107,109-122,50-57';
elseif('alphanum'==$PwdType) $Ranges='65-90,97-122,48-57';
elseif('any'==$PwdType) $Ranges='40-59,61-91,93-126';
if($Ranges<>'')
{
$Range=explode(',',$Ranges);
$NumRanges=count($Range);
mt_srand(time()); //not required after PHP v4.2.0
$p='';
for ($i = 1; $i <= $PwdLength; $i++)
{
$r=mt_rand(0,$NumRanges-1);
list($min,$max)=explode('-',$Range[$r]);
$p.=chr(mt_rand($min,$max));
}
return $p;
}
}[/php]