php 实现验证码的破解

原文地址(无法复制内容。。): http://www.geekso.com/Valite2/  

个人观点: 原文思想可以借鉴,代码不敢恭维。。。

此文只是针对一般的二维码:生成一些随机的字母或数字,涂上随机的颜色,然后画一些随机的线条进行干扰,整体做一下变形,最后输出为图片。

破解主要流程是:

1. 将验证码图片的内容二值化,即将里面字符或明显的线条所占据的像素点设置为1,背景设置为0,大致区分出空白和字符

2. 去噪,去掉干扰的点,主要是把孤立在0里面的1去掉,作者居然是用for循环只判断上下左右四个点是不是0,我也是醉了。。

3. 切割出字符串,将彼此相邻的一片1切出来,形成字符;

4. 互相粘贴的字符串切割开

5. 字符串识别(这个应该需要一个比较大的库来支持,把字符旋转、扭曲的图形样本都存储)

对于中文验证码,我认为需要更大的图形样本库,像百度贴吧的只能点击汉字输入的就需要robot程序了,像csdn发表文章的验证码还得计算一下值。。。

php 实现验证码的破解_第1张图片如果是这种验证码的话估计超难破解。。。干扰图片太大。。字连人都看不清

你可能感兴趣的:(php)