论文部分内容阅读
验证码是一种自动图灵测试程序,用来判断终端用户是人类还是计算机程序。虽然验证码种类繁多,但只有基于文本模式的验证码被广泛地使用于商业站点。基于文本模式的验证码依赖于文本字符的变化和添加噪声等技术,提高分割阻抗,确保计算机程序无法自动识别验证码的内容。本文主要研究基于文本模式的图形验证码识别及防识别的主要方法以及其工程应用。验证码识别的主要对象为字符之间粘连很小的文本模式的验证码,并阐明验证码识别的应用场景和方法,通过对验证码识别方法的研究,分析和研究验证码的设计过程,总结设计验证码应该的基本原则和容易犯的错误进而研究验证码的防识别技术,并提出强壮的验证码的防识别策略。首先分析基于文本模式的验证码的公共属性,设计约束和限制;通过对单个验证码的逆向工程,分析单个验证码的识别过程,进而分析系统识别验证码的步骤和方法。通过对验证码预处理,比如灰度化,阈值化,噪声去除,边界清除等算法将验证码图像处理成只包含文本字符的二值图像,然后使用垂直投影方法将预处理后的验证码切分成只包含单个字符的子图像,分割是验证码识别过程中关键步骤之一,最后使用像素个数统计,垂直投影,水平投影和模板匹配四种分类技术完成对验证码的分类和识别,验证码的识别率超过90%。在验证码的分类和识别阶段,建立神经网络模型,通过对分割后验证码图形的学习和测试,提高验证码识别的效率和准确性。经过对大量验证码生成算法和识别方法的研究和分析,总结出设计强壮验证码遵循的原则,提出安全,有效地防识别策略。随着验证码生成算法的复杂性提高,验证码的用户友好性也开始降低,并且目前主要使用的验证码生成方式和算法都是静态的。为了解决这个问题,本文提出动态的验证码生成策略,通过记录用户的行为特征,按照设定的规则判断终端用户的身份,根据对应的身份生成相应的验证码,这样可以打乱机器人程序的自动识别步骤,既保证了用户友好性,又提高了验证的安全性,这也是本文的创新点。