Current location - Plastic Surgery and Aesthetics Network - Plastic surgery and beauty - How to generate a 32-bit random string in PHP?
How to generate a 32-bit random string in PHP?

If a user registers and generates a random password, the user also needs to generate a random password to reset their password. A random password is a string of fixed length. The following introduces three basic methods of generating random strings:

Method 1

1. Generate a random integer between 33 and 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 , the range can be adjusted as needed. 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; the chr (int $ascii) function is used to convert the corresponding integer $ascii into the corresponding character . function?create_password($pw_length?=?

{?

$randpwd?=?”;?

for?($i?=?0; ?$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. Password of length n. function?generate_password(?$length?=?8?)?{?

//?Password character set, you can add any characters you need?

$chars?=?'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_?[]{}<>~`+=,.;:/?|';?

$password ?=?”;?

for?(?$i?=?0;?$i?

{?

//?There are two ways to obtain characters here?

//?The first is to use?substr?to intercept any character in $chars;?

< p>//?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)?];?< /p>

}?

return?$password;?

}

Method 3

1. Preset one The character array $chars includes a – z, A – Z, 0 – 9, and some special characters.

2. Randomly select $length elements from the array $chars through array_rand().

3. According to the obtained key name array $keys, take out the characters from the array $chars and concatenate the string. The disadvantage of this method is that the same characters will not be retrieved repeatedly.

function?make_password(?$length?=?8?)?

{?

//?Password character set, you can add any characters you need?

< p>$chars?=?array('a',?'b',?'c',?'d',?'e',?'f',?'g',?'h',?< /p>

'i',?'j',?'k',?'l','m',?'n',?'o',?'p',?'q',? 'r',?'s',?

't',?'u',?'v',?'w',?'x',?'y','z', ?'A',?'B',?'C',?'D',?

'E',?'F',?'G',?'H',?'I ',?'J',?'K',?'L','M',?'N',?'O',?

'P',?'Q',?' R',?'S',?'T',?'U',?'V',?'W',?'X',?'Y','Z',?

'0',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9',? '!',?

'@','#',?'$',?'%',?'^',?'&',?'*',?'(', ?')',?'-',?'_',?

'[',?']',?'{',?'}',?'<',?'> ',?'~',?'`',?'+',?'=',?',',?

'.',?';',?':',? '/',?'?',?'|');?

//?Randomly select?$length? array element key names in?$chars?

$keys?=?($chars,?$length);?

$password?=?”;?

for($i?=?0;?$i ?

{?

//?Concatenate ?$length? array elements into a string?

$password?.=?$chars[$keys[$i]];?

}?

return?$password;?

}