改进的图片验证码

改进的图片验证码

ID:38185536

大小:35.50 KB

页数:3页

时间:2019-05-24

改进的图片验证码_第1页
改进的图片验证码_第2页
改进的图片验证码_第3页
资源描述:

《改进的图片验证码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、改进的图片验证码上次开发出图片验证码之后(上篇文章),根据一些朋友的建议,本着验证码易识别(针对人),不易破解,美观的原则,改进了验证码生成的算法,采用图像滤镜的方法,对图片验证码进行反破解干扰,结果图片示例如下:滤镜效果主要采用波形(wave)算法,通过对X轴Y轴的正弦波形处理,产生叠加效果。算法主要描述如下:  privateconstdoublePI=3.1415926535897932384626433832795;  privateconstdoublePI2=6.283185307179586476925286766559;  ///

  ///正弦曲

2、线Wave扭曲图片  ///

  ///  ///  ///波形的幅度倍数  ///波形的起始相位,取值区间[0-2*PI)  ///  publicSystem.Drawing.BitmapTwistImage(BitmapsrcBmp,boolbXDir,doubledMultValue,dou

3、bledPhase)  {   System.Drawing.BitmapdestBmp=newBitmap(srcBmp.Width,srcBmp.Height);   //将位图背景填充为白色   System.Drawing.Graphicsgraph=System.Drawing.Graphics.FromImage(destBmp);   graph.FillRectangle(newSolidBrush(System.Drawing.Color.White),0,0,destBmp.Width,destBmp.Height);   graph.Dispose();  

4、   doubledBaseAxisLen=bXDir?(double)destBmp.Height:(double)destBmp.Width;   for(inti=0;i

5、前点的颜色     intnOldX=0,nOldY=0;     nOldX=bXDir?i+(int)(dy*dMultValue):i;     nOldY=bXDir?j:j+(int)(dy*dMultValue);     System.Drawing.Colorcolor=srcBmp.GetPixel(i,j);     if(nOldX>=0&&nOldX=0&&nOldY

6、 }    }   }   returndestBmp;  }开头的示例图片,是两次波形效果的叠加,两次效果分别针对X轴方向和Y轴方向,如果取消对边缘背景色的填充,可以看到算法对图形的影响,如下图:这样产生的验证码,看起来很像Google站点上的验证码吧,当然,如果你有兴趣,还可以添加其他的滤镜效果,如拉伸,旋转,马赛克等。但是注意一点,网站验证码不是越复杂越好,要在速度和安全上找到一个平衡点。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。