不定长度密码虚位比对算法的思路

         假设数据库里已存在一条长度为8位,值为“12345678”的密码。规定输入长度达到6位才开始比对。下文将分别列出用户输入密码长度分别是6、7、8位三种情况下,算法需要比对的内容和次数。

一、输入密码长度6位时

        输入待匹配密码:123456

        需要比对的次数:1

        需要比对的内容:

循环计数变量

截取长度

比对内容

0

6

123456

 

 

 

 

二、输入密码长度7位时

        输入待匹配密码:1234567

        需要比对的次数:2

        需要比对的内容:

循环计数变量

截取长度 

比对内容

07

1234567

1

6

234567

                       

 

 

 

三、输入密码长度8位时

        输入待匹配密码:12345678

        需要比对的次数:3

        需要比对的内容:

循环计数变量

截取长度

比对内容

08

12345678

17

2345678

26345678

 

 

 

 

 

备注:上面表格中,当截取长度是6时,应该有多种组合,可是为什么只比对了最后6位这一种情况呢?原因是每个步骤的比对结果是累积递进的,也就是说除了最后6位,其他的任何6位组合,在之前的过程中已经比对过了,且比对未通过,所以不用重复比对了。其他长度的比对,是同样的原理,以此类推。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值