Password generator function with PHP

While I personally prefer users to be able to choose their own password, for those who think auto-generation is better, this script. This feature is flexible when creating a password: You can choose the desired password length and strength.


<?php
// We set parameters and generate a password
// $length - password length, $strength - password strength
function generatePassword($length=9, $strength=8) {
 $vowels = 'aeuy';
 $consonants = 'bdghjmnpqrstvz';
 if ($strength >= 1) {
 $consonants .= 'BDGHJLMNPQRSTVWXZ';
 }
 if ($strength >= 2) {
 $vowels .= "AEUY";
 }
 if ($strength >= 4) {
 $consonants .= '23456789';
 }
 if ($strength >= 8 ) {
 $vowels .= '@#$%';
 }
// Generate a password
 $password = '';
 $alt = time() % 2;
 for ($i = 0; $i < $length; $i++) {
 if ($alt == 1) {
 $password .= $consonants[(rand() % strlen($consonants))];
 $alt = 0;
 } else {
 $password .= $vowels[(rand() % strlen($vowels))];
 $alt = 1;
 }
 }
 return $password;
}
echo generatePassword();
?>

Output example: ET@NY4EXU