http://sskaje.spaces.live.com/blog/cns!CD0E835D6C568521!909.entry
February 20, 2008
上网查了好几种算法,都不满意
最后根据几种算法,再加上最早就已经确定的加权的思想,把代码写成了
但是毕竟复杂度aaa111和a1a1a1是不一样的,可是目前的实力没法计算,只能用一些简单的count了
基本算法流程如下:
输入数据(密码字符串,用户名可选)=>
检查长度,小于4则出发错误;否则=>
检查用户名,如果case insensitive条件下和密码相同,直接报弱密码;否则=>
权值为密码长度*4=>
分别计算数字、特殊符号、大写字母、小写字母的个数=>
权值+= 数字个数 /6 * 4=>
权值+= 特殊符号个数 *4 =>
权值+=小写字母个数=>
权值+=大写字母个数*2=>
如果大小写都存在,则权值+=5 =>
如果数字加符号混合,权值+=15 =>
如果数字和字母混合,权值+=10 =>
如果字母和符号混合,权值+=15 =>
如果纯字母,权值-=10 =>
如果纯数字,权值-=15 =>
划定范围
现在这个权值的确定还是不合适,估计得花时间测试;而且范围的确定也不太好
基本确定了5级:weak, medium, good, strong, insane
目前的密码除了********算是weak,其他至少都是medium,insane的不少
第一次写了个ajax
用了prototype
比较了下prototype和jQuery的例子,发现前者比较适合自己的编程风格
(jQuery最早是soff告诉我的,而且联盟用的就是,还在关注...)
发现用了框架,开发真的很简单
继续Recoding...
No comments:
Post a Comment