Генерация пароля на php, легкий понятный запоминающийся пароль

Предлагаю функцию для генерации легко запоминающегося пароля:

function genPassword($size = 8){ $a = array(‘e’,’y’,’u’,’i’,’o’,’a’); $b = array(‘q’,’w’,’r’,’t’,’p’,’s’,’d’,’f’,’g’,’h’,’j’,’k’,’l’,’z’,’x’,’c’,’v’,’b’,’n’,’m’); $c = array(‘1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’0’); $e = array(‘-‘,’_’,’!’,’~’,’$’,’*’,’@’,’:’); $password = $b[array_rand($b)]; do { $lastChar = $password[ strlen($password)-1 ]; @$predLastChar = $password[ strlen($password)-2 ]; if( in_array($lastChar,$b) ) {//последняя буква была согласной if( in_array($predLastChar,$a) ) { // две последние буквы были согласными $r = rand(0,2); if( $r ) $password .= $a[array_rand($a)]; else $password .= $b[array_rand($b)]; } else $password .= $a[array_rand($a)]; } elseif( !in_array($lastChar,$c) AND !in_array($lastChar,$e) ) { $r = rand(0,2); if($r == 2)$password .= $b[array_rand($b)]; elseif(($r == 1)) $password .= $e[array_rand($e)]; else $password .= $c[array_rand($c)]; } else{ $password .= $b[array_rand($b)]; } } while ( ($len = strlen($password) ) < $size); return $password; }

12345678910111213141516171819202122232425262728293031 function genPassword($size = 8){    $a = array(‘e’,‘y’,‘u’,‘i’,‘o’,‘a’);    $b = array(‘q’,‘w’,‘r’,‘t’,‘p’,‘s’,‘d’,‘f’,‘g’,‘h’,‘j’,‘k’,‘l’,‘z’,‘x’,‘c’,‘v’,‘b’,‘n’,‘m’);    $c = array(‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘0’);    $e = array(‘-‘,‘_’,‘!’,‘~’,‘$’,‘*’,‘@’,‘:’);    $password = $b[array_rand($b)];     do {        $lastChar = $password[ strlen($password)1 ];        @$predLastChar = $password[ strlen($password)2 ];        if( in_array($lastChar,$b)  ) {//последняя буква была согласной           if( in_array($predLastChar,$a) ) { // две последние буквы были согласными                $r = rand(0,2);                if( $r  ) $password .= $a[array_rand($a)];                else $password .= $b[array_rand($b)];           }           else $password .= $a[array_rand($a)];         } elseif( !in_array($lastChar,$c) AND !in_array($lastChar,$e) ) {           $r = rand(0,2);           if($r == 2)$password .= $b[array_rand($b)];           elseif(($r == 1)) $password .= $e[array_rand($e)];           else $password .= $c[array_rand($c)];        } else{            $password .= $b[array_rand($b)];        }     } while ( ($len = strlen($password) ) < $size);     return $password;}