Jon Haworth

PHP: Generate random password


This function generates a random password, of whatever length you specify - the default is 8 characters. It will only use a character once per password, and it doesn't use vowels (to limit potentially offensive passwords) or lower-case L (to avoid confusion with the number one).


function generatePassword ($length = 8)
{

  // start with a blank password
  $password = "";

  // define possible characters
  $possible = "0123456789bcdfghjkmnpqrstvwxyz"; 
    
  // set up a counter
  $i = 0; 
    
  // add random characters to $password until $length is reached
  while ($i < $length) { 

    // pick a random character from the possible ones
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
        
    // we don't want this character if it's already in the password
    if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

  }

  // done!
  return $password;

}
        

More PHP?

Photo