Thursday, February 19, 2009

[搬移]密码强度计算

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