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
?>

菜鸟的代码,仅供参考,高手无视。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章