/*
- Random Password Generator
- Generates a password at random given specified limitations.
$length - The amount of characters the password should have.
$useCapitalLetters - Should the password consist of capital letters?
$useNumbers - Should the password consist of numbers?
$useSpecialCharacters - Should the password consist of special characters?
*/
public function randomPassword($length = 7, $useCapitalLetters = true, $useNumbers = true, $useSpecialCharacters = true) {
$chars = array(
'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');
$specialChars = array(
'!', '%', '^', '&', '*', '(', ')', '@');
$pass = '';
for ($i = 0; $i < $length; $i++) {
$rand = rand(0, 3);
switch ($rand) {
case 0:
$pass .= $chars[rand(0, count($chars) - 1)];
break;
case 1:
if ($useCapitalLetters)
$pass .= strtoupper($chars[rand(0, count($chars) - 1)]);
else
$pass .= $chars[rand(0, count($chars) - 1)];
break;
case 2:
if ($useNumbers)
$pass .= rand(0, 9);
else
$pass .= $chars[rand(0, count($chars) - 1)];
break;
case 3:
if ($useSpecialCharacters)
$pass .= $specialChars[rand(0, count($specialChars) - 1)];
else
$pass .= $chars[rand(0, count($chars) - 1)];
break;
}
}
return $pass;
}
Comments