网站验证码识别程序探讨 (1)

来源:互联网 发布:centos查看防火墙状态 编辑:程序博客网 时间:2024/06/07 06:57
作者:caocao(网络隐士),http://www.caocao.name/,http://www.caocao.mobi/
转载请注明来源:http://www.javaeye.com/topic/159922

顾名思义,隐士这里想探讨一下验证码识别程序的设计,至于如何使用这样的程序则不在技术讨论的范围内。

先来看一下隐士这个.net程序的效果。这样的验证码图片在很多网站都有,看上去识别效果还不错。


下面介绍一下该算法的特点:
1、只能识别已知字体、字号,对字母没什么要求,英文字母、数字、中文字都可以。
2、只能识别不扭曲、镜像、旋转的字。
3、对噪点、干扰线不太敏感。

由上面的特点可知,这算法其实是很脆弱的,只要验证码生成程序稍微做一点点旋转就可以令其失效。那么该算法做了些什么呢?

这算法只做了一件事情,就是按照已知字符串的图像去验证码图像里扫描,扫到匹配的就成了,当然算法内部会有一些小调整以降低误认率。仅仅这点就足矣识别大量网站的验证码了。效果图里的验证码是由Discuz! 5.5产生的一种,CSDN现阶段的验证码图片一样可以用这个算法来识别。看官如有兴趣,请联系隐士共同探讨。