1、預置一個的字符串 $chars,包括 a – z,a – z,0 – 9,以及一些特殊字符。
2、在 $chars 字符串中隨機取一個字符。
3、重複第二步 n 次,可得長度為 n 的密碼。
function generate_password( $length = 8 ) {
// 密碼字符集,可任意添加你需要的字符。
$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;
}
- 範文問答
- 答案列表
php生成隨機密碼[朗讀]
1、在 33 – 126 中生成一個隨機整數,如 35。
2、將 35 轉換成對應的ascii碼字符,如 35 對應 #。
3、重複以上 1、2 步驟 n 次,連接成 n 位的密碼。
該算法主要用到了兩個函數,mt_rand ( int $min,int $max )函數用於生成隨機整數,其中 $min – $max 為 ascii 碼的範圍,這裡取 33 -126,可以根據需要調整範圍,如ascii碼錶中 97 – 122 位對應 a – z 的英文字母,具體可參考 ascii碼錶;chr ( int $ascii )函數用於將對應整數 $ascii 轉換成對應的字符。
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);
2、將 35 轉換成對應的ascii碼字符,如 35 對應 #。
3、重複以上 1、2 步驟 n 次,連接成 n 位的密碼。
該算法主要用到了兩個函數,mt_rand ( int $min,int $max )函數用於生成隨機整數,其中 $min – $max 為 ascii 碼的範圍,這裡取 33 -126,可以根據需要調整範圍,如ascii碼錶中 97 – 122 位對應 a – z 的英文字母,具體可參考 ascii碼錶;chr ( int $ascii )函數用於將對應整數 $ascii 轉換成對應的字符。
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);
加入收藏