Skip to content

Instantly share code, notes, and snippets.

@maxxscho
Last active August 29, 2015 14:13
Show Gist options
  • Save maxxscho/201c42400d64d005c367 to your computer and use it in GitHub Desktop.
Save maxxscho/201c42400d64d005c367 to your computer and use it in GitHub Desktop.
Password generator method
<?php
/**
* Generate Password with a given length and strength
*
* @param int $length
* @param int $strength
* @return string
*/
function generatePassword($length = 9, $strength = 4)
{
$vowels = 'aeiouy';
$consonants = 'bcdfghjklmnpqrstvwxz';
if ($strength >= 1)
{
$consonants .= 'BCDFGHJKLMNPQRSTVWXZ';
}
if ($strength >= 2)
{
$vowels .= "AEIOUY";
}
if ($strength >= 4)
{
$consonants .= '23456789';
}
if ($strength >= 8)
{
$consonants .= '@#$%';
}
$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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment