1, 2, 3, 4);
private static $typeChange = array(array(1, 2), array(1, 3), array(1, 4), array(2, 3), array(2, 4), array(3, 4));
private static $typeChangeComplexs = array(1, 1, 2, 1, 2, 2);
public static function computeComplex($password)
{
$complex = 0;
$password = (string)$password;
$length = strlen($password);
$prefixType = 0;
$regularChars = array();
for($i = 0; $i < $length; $i++){
if(ctype_digit($password[$i])){
$type = 1;
}elseif(ctype_lower($password[$i])){
$type = 2;
}elseif(ctype_upper($password[$i])){
$type = 3;
}else{
$type = 4;
}
if(!in_array($password[$i], $regularChars)){ //规律性字符,不计入复杂度
$complex += self::$typeComplexs[$type];
if($prefixType){
$changeType = array($type, $prefixType);
sort($changeType);
$change = array_search($changeType, self::$typeChange);
if($change !== false){
$complex += self::$typeChangeComplexs[$change];
}
}
}
$prefixType = $type;
$regularChars = self::getRegularChars($password[$i], $prefixType);
}
return $complex;
}
/**
* 获取一个字符的规律字符集
* 下列规则被认为是有规则的
* 1)重复字符
* 2)数字递增或者递减
* 3)字母递增或者递减
* @param unknown_type $prefixChar
*/
private static function getRegularChars($prefix, $prefixType)
{
$regularChars = array($prefix);
switch($prefixType){
case 1:
$regularChars[] = $prefix + 1;
$regularChars[] = $prefix - 1;
break;
case 2:
case 3:
$regularChars[] = chr(ord($prefix) + 1);
$regularChars[] = chr(ord($prefix) - 1);
$regularChars = array_filter($regularChars, 'ctype_alnum');
break;
}
return $regularChars;
}
}
?>
功能完善、展示信息丰富的电子商店销售平台;针对企业与个人的网上销售系统;开放式远程商店管理;完善的订单管理、销售统计、结算系统;强力搜索引擎支持;提供网上多种在线支付方式解决方案;强大的技术应用能力和网络安全系统,完美的傻瓜开店功能,自主经营,管理后台登陆账号:admin 密码:admin 登陆地址/admin/login.asp商家测试帐号:admin 密码:admin 登陆地址/user/ad
0
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号