密码复杂度检测算法

密码规则:可以输入数字和字母(大写/小写)组合,长度6-10位

字符串复杂度计算流程:
1.计算字符种类数量(字符种类有数字、大写字母、小写字母)
2.计算字符差异数量(区分大写字母和小写字母,重复的字符不计算在内)
3.根据字符种类数量和字符差异数量计算复杂度

下面是伪代码:

var level = ?; //1:简单 2:中等 3:复杂
var 是纯数字 = ?

if (种类数量 == 1) {
    if (是纯数字) {
        if (字符长度满10位,相似度大于8) {
            level=中等
        } else {
            level=简单
        }
    } else {
        if (差异数量==1,忽略字符长度) {
            level=简单
        } else if (差异数量==2,字符长度小于8位) {
            level=简单
        } else {
            level=中等
        }
    }
} else (种类数量 == 2) {
    if (差异数量==2) {
        if (字符长度小于9位) {
            level=简单
        } else {
            level=中等
        }
    } else if (差异数量>3,字符长度在8位以内) {
        level=中等
    } else if (差异数量>3,字符长度在8位以上) {
        level=难
    } else {
        level=简单
    }
} else {
    if (字符长度7位以内) {
        level=中等
    } else {
        level=复杂
    }
}

 

 

posted @   蛤蟆  阅读(2471)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示