php生成隨機密碼的練習記錄

近日,開發用戶註冊模塊時,需要生成指定長度的隨機密碼,我們一般是生成16位的。
參閱了幾篇生成隨機密碼的文章:
php生成隨機密碼的幾種方法
php生成隨機密碼的範例

索性自己也寫一個吧,雖然簡單,但終歸是練手了,呵呵。
實現的代碼如下所示:
<?php
//隨機產生十六位數密碼

function randStr($len=16,$format='ALL') {
 switch($format) {
 case 'ALL':
 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; break;
 case 'CHAR':
 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-@#~'; break;
 case 'NUMBER':
 $chars='0123456789'; break;
 default :
 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~';
 break;
 }
 mt_srand((double)microtime()*1000000*getmypid());
 $password="";
 while(strlen($password)<$len)
    $password.=substr($chars,(mt_rand()%strlen($chars)),1);
 return $password;
 }
 //by snow_spring 2013/3/18
?>

菜鳥的代碼,僅供參考,高手無視。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章