0

I want to generate a random password with PHP, to later send it to a user that registers. How can I achieve this best? I already tried to work with rand function, but I doesn't get it working. Best would be a possibility to have a function doing that for me, so I just need to call something like

$pw = generatePW();

Thank you for your help.

1 Answers1

-2

You can easily achieve this with the following function:

function random_string($length)
{
   $string = "";
   $chars = "abcdefghijklmanopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   $size = strlen($chars);
   for ($i = 0; $i < $length; $i++) {
       $string .= $chars[rand(0, $size - 1)];
   }
   return $string; 
}

Here you first generate an empty string, then you define a string with all chars you want, you could also add # or ? or whatever you want. After you also counted the numbers of chars you can start with filling your new string. You just use a for-loop to do this. Everytime the loopcontent is called, there is one random char (from your $char) added to your empty string.

You use this function (for example if you want to store your random password in a variable) by simply typing:

$password = rand_string(15) //the number specified in brackets is the amount of characters in your password

Let me know if you're experiencing any issues.

nameless
  • 1,483
  • 5
  • 32
  • 78