Home > Article > Backend Development > Several random password generation methods_PHP tutorial
Random passwords are very simple, but there are many ways to follow them. They are all composed of special strings. Let’s take a look at the following three methods.
Method 1:
1. Generate a random integer from 33 – 126, such as 35,
2. Convert 35 into the corresponding ASCII code character, such as 35 corresponding to #
3. Repeat the above steps 1 and 2 n times to connect into an n-digit password
This algorithm mainly uses two functions. The mt_rand (int $min, int $max) function is used to generate random integers, where $min – $max is the range of ASCII codes. Here it is 33-126, which can be used as needed. Adjustment range, for example, 97 – 122 bits in the ASCII code table correspond to the English letters a – z. For details, please refer to the ASCII code table; chr (int $ascii) function is used to convert the corresponding integer $ascii into the corresponding character.
The code is as follows | Copy code | ||||
{ $randpwd = ''; for ($i = 0; $i < $pw_length; $i++) { $randpwd .= chr(mt_rand(33, 126)); } Return $randpwd; } // Call this function and pass the length parameter $pw_length = 6 echo create_password(6);
|
Method 2:
1. Preset a string $chars, including a – z, A – Z, 0 – 9, and some special characters
2. Randomly pick a character from the $chars string
3. Repeat the second step n times to get a password of length n
代码如下 | 复制代码 |
function generate_password( $length = 8 ) { $password = ''; return $password;
|
The code is as follows | Copy code |
<🎜>function generate_password( $length = 8 ) { // Password character set, you can add any characters you need $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $password = ''; for ( $i = 0; $i < $length; $i++ ) { //There are two ways to obtain characters // The first is to use substr to intercept any character in $chars; //The second method is to take any element of the character array $chars // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); $password .= $chars[ mt_rand(0, strlen($chars) - 1) ]; }<🎜> <🎜> return $password; }<🎜> <🎜> <🎜> |
Using PHP to develop applications, especially website programs, often requires generating random passwords. For example, a random password is generated for user registration, and a random password is also required for user reset password. A random password is a string of fixed length. Here I have collected several methods of generating random strings for your reference.
Method 1:
1. Generate a random integer from 33 – 126, such as 35,
2. Convert 35 into the corresponding ASCII code character, such as 35 corresponding to #
3. Repeat the above steps 1 and 2 n times to connect into an n-digit password
This algorithm mainly uses two functions. The mt_rand (int $min, int $max) function is used to generate random integers, where $min – $max is the range of ASCII codes. Here it is 33-126, which can be used as needed. Adjustment range, for example, 97 – 122 bits in the ASCII code table correspond to the English letters a – z. For details, please refer to the ASCII code table; chr (int $ascii) function is used to convert the corresponding integer $ascii into the corresponding character.
The code is as follows
| Copy code
| ||||
function create_password($pw_length = 8) // Call this function and pass the length parameter $pw_length = 6
Method 2:
| 1. Preset a string $chars, including a – z, A – Z, 0 – 9, and some special characters
3. Repeat the second step n times to get a password of length n