Revision: 19578
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 26, 2009 10:11 by AzizLight
Initial Code
<?php
/**
* Generate a random password
*/
class Password
{
/**
* Generate the new password
*
* @access public
* @param array $params
* @return string
**/
public function generate($params = array())
{
$length = (!array_key_exists('length', $params)) ? 15 : $params['length'];
$use_lower = (!array_key_exists('use_lower', $params)) ? TRUE : $params['use_lower'];
$use_upper = (!array_key_exists('use_upper', $params)) ? TRUE : $params['use_upper'];
$use_number = (!array_key_exists('use_number', $params)) ? TRUE : $params['use_number'];
$use_custom = (!array_key_exists('use_custom', $params)) ? '-_()' : $params['use_custom'];
$upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$lower = "abcdefghijklmnopqrstuvwxyz";
$number = "0123456789";
$seed_length = 0;
$seed = '';
if($use_upper === TRUE){
$seed_length += 26;
$seed .= $upper;
}
if($use_lower === TRUE){
$seed_length += 26;
$seed .= $lower;
}
if($use_number === TRUE){
$seed_length += 10;
$seed .= $number;
}
if(!empty($use_custom)){
$seed_length +=strlen($use_custom);
$seed .= $use_custom;
}
for($i = 1; $i <= $length; $i++){
$password .= $seed{rand(0,$seed_length-1)};
}
return $password;
} // End of generate
} // End of Class Password
?>
Initial URL
Initial Description
I rewrote [this snippet](http://snipplr.com/view/15402/php-password-generator/).
Usage:
$password1 = new Password;
$password2 = new Password;
echo '<p>' . $password1->generate() . '</p>';
echo '<p>' . $password2->generate(array('length' => 50)) . '</p>';
Initial Title
Random Password Generator PHP Class
Initial Tags
class
Initial Language
PHP