Number/Letter Passwords
| From: | Matt Stone | Date: | Wed, 28 Mar 2001 00:26:26 +0000 |
| Subject: | Number/Letter Passwords | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-45800@lists.php.net to get a copy of this message | ||
Hi,Hi,
I have this code below which is supposed to be generating a password like
QCCQCN2-IUZ with 10 characters - All but three in the first section (7) and
three in the last part - but does not work in all cases. Sometimes it prints
LPSA3WD-IM or G22G2G9-FC.
Is there a catch in the code that will stuff up in certain circumstances?
Please help,
Matt stone
_________________________________________________
<?php
define(FIRST_STR,1);
define(LAST_STR,0);
function randomGen($length, $mode) {
$all = explode( " ",
"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z "
. "0 1 2 3 4 5 6 7 8 9");
$allend = explode( " ",
"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");
for($i=0;$i<$length;$i++) {
srand((double)microtime()*time());
$randy = (($mode)? rand(0, count($all)) : rand(0, count($allend)));
$pass .= (($mode)? $all[$randy] : $allend[$randy]);
}
return $pass;
}
function randomPassword($length = 8) {
$passfirst = randomGen($length-3, FIRST_STR);
$passend = randomGen(3, LAST_STR);
$pass = $passfirst.'-'.$passend;
return $pass;
}
for($i;$i<10;$i++){
$new_random = randomPassword(10);
echo "$new_random<br>";
}
?>