產生隨機密碼方法有很多種,最簡單的就是使用php mt_rand()函數來直接產生一串數字了,下面我來給大家介紹php產生隨機密碼程式
最簡單的辦法mt_rand函數
mt_rand() 使用 Mersenne Twister 演算法返回隨機整數。
例子
在本例中,我們會返回一些隨機數:
| 代碼如下 |
複製代碼 |
echo(mt_rand()); echo(mt_rand()); echo(mt_rand(10,100)); ?> 輸出類似: 3150906288 513289678 35 |
上面相對來說安全指數很低的,因為全是數字哦,下面另名一種
1、預置一個的字串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字元
2、在 $chars 字串中隨機取一個字元
| 代碼如下 |
複製代碼 |
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; } |
一個朋友提供的md5()函數的傳回值的緣故,產生的密碼只包括字母和數字,不過也算是一個不錯的方法。演算法思想:
1、time() 擷取當前的 Unix 時間戳記
2、將第一步擷取的時間戳記進行 md5() 加密
3、將第二步加密的結果,截取 n 位即得想要的密碼
| 代碼如下 |
複製代碼 |
function get_password( $length = 8 ) { $str = substr(md5(time()), 0, 6); return $str; } |
http://www.bkjia.com/PHPjc/631273.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631273.htmlTechArticle產生隨機密碼方法有很多種,最簡單的就是使用php mt_rand()函數來直接產生一串數字了,下面我來給大家介紹php產生隨機密碼程式 最簡單的辦...