方法壹
1.生成壹個33–126的隨機整數,如35。
2.將35轉換成對應的ASCII字符,比如35對應#。
3.重復上述步驟1和2n次,連接成壹個n位密碼。
該算法主要使用兩個函數。mt_rand (int $min,int $max)函數用於生成隨機整數,其中$min-$max是ASCII碼的取值範圍,這裏取33 -126,取值範圍可以根據需要調整,比如ASCII碼表中97-122位對應的英文字母a-z。Chr (int $ascii)函數用於將相應的整數$ascii轉換成相應的字符。
功能?create_password($pw_length?=?
{?
$randpwd?=?";?
為了什麽?($i?=?0;?$i?& lt?$ pw _ length?$i++)?
{?
$randpwd?。=?chr(mt_rand(33,?126));?
}?
回歸?$ randpwd?
}?
//?調用這個函數,傳遞長度參數$pw_length?=?6?
回聲?create _ password(6);方法2
1,預置壹個字符串$chars,包括a–z,a–z,0–9,以及壹些特殊字符。
2.在$chars字符串中隨機選擇壹個字符。
3.重復第二步n次,得到長度為n的密碼..
功能?生成_密碼(?$長度?=?8?)?{?
//?密碼字符集,可以添加任何妳需要的字符?
$chars?=?abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz 0123456789!@#$%^&;*()-_?[]{ } & lt;& gt~`+=,.;:/?|';?
$password?=?";?
為了什麽?(?$i?=?0;?$i?& lt?$長度;?$i++?)?
{?
//?這裏有兩種獲取字符的方法?
//?首先是使用?substr?截取$chars中的任何字符;?
//?二是取壹個字符數組?$chars?任何元素?
//?$password?。=?substr($chars,?mt_rand(0,?strlen($chars)?–?1),?1);?
$password?。=?$chars[?mt_rand(0,?strlen($chars)?-?1)?];?
}?
回歸?$ password?
}方法三
1,預置壹個字符數組$chars,包括a–z,a–z,0–9,以及壹些特殊字符。
2.通過array_rand()從數組$chars中隨機選擇$length元素。
3.根據得到的鍵名數組$keys,從數組$chars中取出字符拼接字符串。這種方法的缺點是不會重復取相同的字符。
功能?make_password(?$長度?=?8?)?
{?
//?密碼字符集,可以添加任何妳需要的字符?
$chars?=?數組(' a ',?b ',?c ',?d ',?e ',?f ',?g ',?h ',?
我',?j ',?k ',?l ',' m ',?n ',?奧,,?p ',?q ',?r ',?s ',?
t ',?u ',?v ',?w ',?x ',?y ',' z ',?壹個',?b ',?c ',?d ',?
e ',?f ',?g ',?h ',?我',?j ',?k ',?l ',' M ',?n ',?奧,,?
p ',?q ',?r ',?s ',?t ',?u ',?v ',?w ',?x ',?y ',' Z ',?
'0′,? '1′,?'2′,? '3′,?'4′,? '5′,?'6′,? '7′,?'8′,? '9′,?'! ',?
'@','#',?'$',?'%',?'^',?& amp',?'*',?'(',?')',?'-',?'_',?
'[',?' ]',?'{',?'}',?& lt',?& gt',?'~',?'`',?'+',?'=',?',',?
'.',?'; ',?':',?'/',?'? ',?'|');?
//?妳在線嗎?$chars?隨便拿?$長度?數組元素的鍵名?
$keys?=?($chars,?$ length);?
$password?=?";?
為了($我?=?0;?$i?& lt?$長度;?$i++)?
{?
//?威爾。$長度?數組元素串聯成壹個字符串?
$password?。=?$ chars[$ keys[$ I]];?
}?
回歸?$ password?
}