验证码识别技术_第1页
验证码识别技术_第2页
验证码识别技术_第3页
验证码识别技术_第4页
验证码识别技术_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、验证码的识别 验证码的作用 有效防止黑客利用社工库对目标网站进行 批量用户爆破 防止机器批量注册、登录、灌水等 最常见的验证码 1、四位数字,随机的一数字字符串,最原始的验证码, 验证作用几乎为零。 2、随机数字图片验证码。图片上的字符比较中规中矩, 有的可能加入一些随机干扰素,还有一些是随机字符颜 色,验证作用比上一个好。没有基本图形图像学知识的 人,不可破! 3、各种图片格式的随机数字+随机大写英文字母+随机干 扰像素+随机位置。 4、汉字是注册目前最新的验证码,随机生成,打起来更 难了,影响用户体验,所以,一般应用的比较少。 5、其他,如12306 我们先看几种网上比较常见的验证码图片

2、这四种样式,基本上能代表2中所提到的 验证码类型,初步看起来第一个图片最 容易破解,第二个次之,第三个更难,第 四个最难。 真实情况呢?其实这三种图片破解难度相同。 第一个图片,最容易,图片背景和数字都使用相同的颜 色,字符规整,字符位置统一。 第二个图片,看似不容易,其实仔细研究会发现其规则, 背景色和干扰素无论怎么变化,验证字符字符规整,颜 色相同,所以排除干扰素非常容易,只要是非字符色素 全部排除即可。 第三个图片,看似更复杂,处理上面提到背景色和干扰 素一直变化外,验证字符的颜色也在变化,并且各个字 符的颜色也各不相同。 第四个图片,除了第三个图片上提到的特征外,又在文 字上加了两条直

3、线干扰率,看似困难其实,很容易去掉。 验证码识别几个步骤验证码识别几个步骤 一、取出字模一、取出字模 1、多刷新几次验证码,将验证码图片保存 起来,要搜集齐0-9的图片。 2、用图片处理软件打开图片,图片的视图 放大,这样就能很清楚地观察到图片的每 个像素。 3、将每个数字截出来保存为图片,大小为 6*10。 二、图片二值化二、图片二值化 二值化就是把图片上的验证数字上每个象 素用数字1表示,其它部分用0表示。把要 识别的图片,进行二值化,将数据保存到 二维数组里,得到图片特征数组。 1、首先要将数字和背景色和干扰色区分开 来,用屏幕取色器观察颜色的规律。 结论 1、背景颜色的r、g、b值都是

4、大于200的 2、数字的颜色的r、g、b值的某一项有可 能小于200。 可通过这个来把背景与文字内容区分。 php代码演示二维数组 把1和0改为了0和- 结果如下图所示: 三、数字字模二值化三、数字字模二值化 计算出每个数字字模的二值化的数据,记录下这些数据,当作key即可。 1、将0-9的数字字模图片进行二值化,逐个取出图片的像个像素的颜色,然后获取每 个像素的r、g、b值,再进行判断,代码如下: 输出结果: 四、对照样本四、对照样本 把步骤二中的图片特征码和步骤三中的验证码的字模进行对 比,得到验证图片上的数字。 算法过程: 1、将图片二值化后的值保存到二维数组里。 2、通过循环,求出每一个数字的位置,要用到前面得到的 数字的宽、高、间隔、左边偏移、顶部偏移。 例如:第i个数字左边偏移 =(数字宽 + 间隔)* i + 左边 偏移。 3、知道了数字的偏移位置,就可以计算出数字在二维数组 里的位置,通过循环将数字的6*10=60个数据取出来拼接在 一起,就形成了与数字字模类似的字符串。 4、将字符串与每一个字模的字符串比较,求其相似度,取 最高的相似

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论