php随机字符串 密码生成

  1. /** 
  2.  * @param string $len 长度 
  3.  * @param string $type 字串类型 
  4.  * 0 字母 1 数字 其它 混合 
  5.  * @param string $addChars 额外字符 
  6.  * @return string 
  7.  */  
  8. function leipi_rand_string($len=6,$type=‘‘,$addChars=‘‘) {  
  9.     $str =‘‘;  
  10.     switch($type) {  
  11.         case 0:  
  12.             $chars=‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‘.$addChars;  
  13.             break;  
  14.         case 1:  
  15.             $chars= str_repeat(‘0123456789‘,3);  
  16.             break;  
  17.         case 2:  
  18.             $chars=‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘.$addChars;  
  19.             break;  
  20.         case 3:  
  21.             $chars=‘abcdefghijklmnopqrstuvwxyz‘.$addChars;  
  22.             break;  
  23.         case 4:  
  24.             $chars = "在这里可以输入一些随机的中文".$addChars;  
  25.             break;  
  26.         default :  
  27.             // 默认去掉了容易混淆的字符oOLl和数字01,要添加请使用addChars参数  
  28.             $chars=‘ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789‘.$addChars;  
  29.             break;  
  30.     }  
  31.     if($len>10 ) {//位数过长重复字符串一定次数  
  32.         $chars= $type==1? str_repeat($chars,$len) : str_repeat($chars,5);  
  33.     }  
  34.     if($type!=4) {  
  35.         $chars   =   str_shuffle($chars);  
  36.         $str     =   substr($chars,0,$len);  
  37.     }else{  
  38.         // 中文随机字  
  39.         for($i=0;$i<$len;$i++){  
  40.           $str.= msubstr($chars, floor(mt_rand(0,mb_strlen($chars,‘utf-8‘)-1)),1);  
  41.         }  
  42.     }  
  43.     return $str;  
  44. }  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。