background image

2

1、在 33 – 126 中生成一个随机整数,如 35,
2、将 35 转换成对应的 ASCII 码字符,如 35 对应 #
3、重复以上 1、2 步骤 n 次,连接成 n 位的密码
代码如下

:

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);
实例
代码如下

:

<?php
mt_srand((double) microtime() * 1000000);

function gen_random_password($password_length = 32, $generated_password = ""){
 

$valid_characters 

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 $chars_length = strlen($valid_characters) - 1;
 for($i = $password_length; $i--; ) {
  //$generated_password .= $valid_characters[mt_rand(0, $chars_length)];

  $generated_password .= substr($valid_characters, (mt_rand()%(strlen($valid_characters))), 1);
 }
 return $generated_password;
}

?><!DOCTYPE 

HTML 

PUBLIC 

"-//W3C//DTD 

HTML 

4.01 

Transitional//EN" 

"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>php 密码生成器 v 4.0</title>
<style type="text/css">
body {
 font-family: Arial;
 font-size: 10pt;
}
</style>