dart/flutter和php弱密码检测

1.dart/flutter版本,最少8位,包含大小写数字特殊字符3种组合以上

  /// 是否是弱密码
  static bool isWeakPassword(String password) {
    if (password?.isNotEmpty != true) return true;//密码为空,弱密码
    if (password.length < 8) return true;//位数不足,弱密码
    Set set = HashSet();
    for (var code in password.codeUnits) {
      if (code >= 48 && code <= 57)
        set.add('数字');
      else if (code >= 65 && code <= 90)
        set.add('大写');
      else if (code >= 97 && code <= 122)
        set.add('小写');
      else
        set.add('特殊');
    }
    return set.length < 3;//种类小于3种,弱密码
  }

2.php版本,我不会php,以下代码是一边百度,一边参考上面的代码在记事本上写的,格式化和规范有点乱,最少6位,2种组合

<?php
 function isWeak($pwd) {
   if (strlen($pwd) < 6) {
    return true;
   }
   $set = array();
   foreach (str_split($pwd) as $ch){
    $ascii = ord($ch);
    if($ascii >=48 && $ascii <= 57) $set['数字']=true;
    elseif($ascii >=65 && $ascii <= 90) $set['大写']=true;
    elseif($ascii >=97 && $ascii <= 122) $set['小写']=true;
    else $set['特殊']=true;
   }
   return sizeof($set) < 2;
  }
 
 var_dump( isWeak('aaa@11'));
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容