Heim  >  Artikel  >  Backend-Entwicklung  >  php 生成指定长度与强度的密码

php 生成指定长度与强度的密码

WBOY
WBOYOriginal
2016-07-25 08:56:471076Durchsuche
本文介绍下,用php生成指定长度与强度密码的一例代码,有需要的朋友参考下。

以下代码可以生成指定长度的用户密码,还可以设定密码强度,包括小写字母密码、大小写字母密码、大小写字母与数字密码、大小写字母与数字 特殊符号等组成的密码。

代码:

<?php
/**
* 函数:generateRandpassword
* 参数:$size 密码长度 $power密码强度 
* 功能:生成密码的函数
* 编辑:bbs.it-home.org
*/
function generateRandpassword($size=9, $power=0) {
    $vowels = 'aeuy';
    $randconstant = 'bdghjmnpqrstvz';
    if ($power & 1) {
        $randconstant .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($power & 2) {
        $vowels .= "AEUY";
    }
    if ($power & 4) {
        $randconstant .= '23456789';
    }
    if ($power & 8) {
        $randconstant .= '@#$%';
    }

    $Randpassword = '';
    $alt = time() % 2;
    for ($i = 0; $i < $size; $i++) {
        if ($alt == 1) {
            $Randpassword .= $randconstant[(rand() % strlen($randconstant))];
            $alt = 0;
        } else {
            $Randpassword .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    return $Randpassword;
}
?>


Stellungnahme:
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