When you want to generate a random password, your first thought may be to use the uniquid() function, but if we use array_rand() and range(), we can achieve this function more perfectly.
Method 1,
The code is as follows |
Copy code |
代码如下 |
复制代码 |
header("Content-type: text/html; charset=utf-8");
function randCode($length) {
$ranges = array(range('a', 'z'), range('A', 'Z'), range(1, 9));
$code = '';
for($i = 0; $i < $length; $i++){
$rkey = array_rand($ranges);
$vkey = array_rand($ranges[$rkey]);
$code .= $ranges[$rkey][$vkey];
}
return $code;
}
echo "www.bKjia.c0m";
echo randCode(5); // 输出如:3IxY8、E6HOv、1qHiy等等
?>
|
header("Content-type: text/html; charset=utf-8");
function randCode($length) {
$ranges = array(range('a', 'z'), range('A', 'Z'), range(1, 9));
$code = '';
for($i = 0; $i < $length; $i++){
$rkey = array_rand($ranges);
$vkey = array_rand($ranges[$rkey]);
$code .= $ranges[$rkey][$vkey];
}
代码如下 |
复制代码 |
function create_password($pw_length = 8)
{
$randpwd = '';
for ($i = 0; $i < $pw_length; $i++)
{
$randpwd .= chr(mt_rand(33, 126));
}
return $randpwd;
}
// 调用该函数,传递长度参数$pw_length = 6
echo create_password(6);
|
Return $code;<🎜>
}<🎜>
<🎜>echo "www.bKjia.c0m";<🎜>
echo randCode(5); // Output such as: 3IxY8, E6HOv, 1qHiy, etc.<🎜>
?>
|
Method 2,
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)
{
$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 three,
The code is as follows
代码如下 |
复制代码 |
//自动为用户随机生成用户名(长度6-13)
function create_password($pw_length = 4){
$randpwd = '';
for ($i = 0; $i < $pw_length; $i++){
$randpwd .= chr(mt_rand(33, 126));
}
return $randpwd;
}
function generate_username( $length = 6 ) {
// 密码字符集,可任意添加你需要的字符
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
$password = '';
for ( $i = 0; $i < $length; $i++ )
{
// 这里提供两种字符获取方式
// 第一种是使用substr 截取$chars中的任意一位字符;
// 第二种是取字符数组$chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}
// 调用该函数
$userId = 'user'.generate_username(6);
$pwd = create_password(9);
|
| Copy code |
|
//Automatically generate a random username for the user (length 6-13)
function create_password($pw_length = 4){
$randpwd = '';
for ($i = 0; $i < $pw_length; $i++){
$randpwd .= chr(mt_rand(33, 126));
}
return $randpwd;
}
function generate_username( $length = 6 ) {
// 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 here
// The first is to use substr to intercept any character in $chars;
// The second is the arbitrary element of the character array $ char
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}
// Call this function
$userId = 'user'.generate_username(6);
$pwd = create_password(9);
http://www.bkjia.com/PHPjc/628618.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/628618.htmlTechArticleWhen you want to generate a random password, your first thought may be to use the uniquid() function. But if we use array_rand() and range(), we can achieve this more perfectly...