php 验证码(倾斜,正弦干扰线,黏贴,旋转)

  次阅读 作者:智能小宝 来源:互联网 2016-03-02 15:28 我要评论(0)

1、字体变型 (一般通过算法,进行扭曲,比较有代表性就是:http://code.google.com/p/cool-php-captcha/

2、字体黏贴 (这里面以qq验证码为代表了,目前网上还是很难找到,破解qq验证码的)

3、干扰线,噪点 (这种识别起来相当容易,很容易被程序自动化识别)

对于上面提到,第1,2 二种方法,在识别时候,是比较困难的。个人比较喜欢第二种方法,感觉看起来不是很费力。而扭曲的文字,总觉得怪怪的。 哈哈,纯粹个人喜好了。

实现代码:

<?php

/***带文字旋转,倾斜,黏贴,加正弦干扰线验证码**@version0.1*@author http://www.cnblogs.com/chengmo*@copyright 程默 QQ:8292669*/

class Utils_Caption

{

var $Width= 60;//图片宽

var $Height= 30;//图片高

var $Length= 4;//验证码位数

var $BgColor= "#FFFFFF";//背景色

var $TFonts = array("font.ttf");

var $TFontSize=array(17,20); //字体大小范围

var $TFontAngle=array(-20,20); //旋转角度

var $Chars= "0123456789";//验证码范围(字母数字)

var $Code= array();//验证码

var $Image= "";//图形对象

var $FontColors=array('#f36161','#6bc146','#5368bd');//字体颜色,红绿蓝

var $TPadden = 0.75;///字符间距,多少个字符

var $Txbase = 5;///x轴两边距离

var $Tybase =5 ;///y轴两边距离

var $TLine =true; ///画干扰线

publicfunction RandRSI() ///生成验证码

{

$this->TFontAngle=range($this->TFontAngle[0],$this->TFontAngle[1]);

$this->TFontSize=range($this->TFontSize[0],$this->TFontSize[1]);

$arr=array();

$Chars=$this->Chars;

$TFontAngle=$this->TFontAngle;

$TFontSize=$this->TFontSize;

$FontColors=$this->FontColors;

$code="";

$font=dirname(__FILE__)."/font/".$this->TFonts[0];

$charlen=strlen($Chars)-1;

$anglelen=count($TFontAngle)-1; // 角度范围

$fontsizelen=count($TFontSize)-1; // 角度范围

$fontcolorlen=count($FontColors)-1; // 角度范围

for($i=0;$i<$this->Length;$i++) ///得到字符与颜色

{

$char=$Chars[rand(0,$charlen)]; ///得到字符

$angle=$TFontAngle[rand(0,$anglelen)]; ///旋转角度

$fontsize=$TFontSize[rand(0,$fontsizelen)]; ///字体大小

$fontcolor=$FontColors[rand(0,$fontcolorlen)]; ///字体大小

$bound=$this->_calculateTextBox($fontsize,$angle,$font,$char); ///得到范围

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...