Heim > php教程 > PHP源码 > Hauptteil

密码动态生成(复杂、纯英文、纯数字)

PHP中文网
Freigeben: 2016-05-25 17:10:50
Original
1242 Leute haben es durchsucht

PHP动态生成 复杂、纯英文、纯数字密码

function randpw($len=8,$format='ALL'){
    $is_abc = $is_numer = 0;
    $password = $tmp ='';    
    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());

    //组合字符串
    while(strlen($password)<$len){
        //随机字符或数字
        $tmp =substr($chars,(mt_rand()%strlen($chars)),1);
        //判断是否出现数字了
        if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == &#39;CHAR&#39;){
            $is_numer = 1;
        }
        //判断是否出现字符了
        if(($is_abc <> 1 && preg_match(&#39;/[a-zA-Z]/&#39;,$tmp)) || $format == &#39;NUMBER&#39;){
            $is_abc = 1;
        }
        //连接
        $password.= $tmp;
    }
    //判断条件是否符合,或者重新生成
    if($is_numer <> 1 || $is_abc <> 1 ||  empty($password) ){
        $password = randpw($len,$format);
    }
    
    return $password;
}

for($i = 0 ; $i < 10; $i++){
    echo randpw(8,&#39;NUMBER&#39;);
    echo "
";
}
Nach dem Login kopieren

                   

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage