数字和字母组合并生成图片的验证码祥解

铜板板2011

铜板板2011

2016-01-29 17:50

数字和字母组合并生成图片的验证码祥解,数字和字母组合并生成图片的验证码祥解
 

  大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如chinaren.com校友录中留言的时候,我们就会看到数字图片验证码;网上关于数字文字验证码实现方法的相关资料很多,而我们这里介绍的是数字和字母随机组成的并且生成图片的验证码的实现方法。看起来很复杂、其实很简单的,大家跟着我往下看:

  首先,我们先介绍一下设计思路,数字和字母的随机组合生成验证码,然后将验证码生成图片,这里“数字和字母的组合”应该是随机取出来的;如果是专门的数字验证码,我们可以这样实现:

  ycodenum=4 '验证码的位数,或者说成个数
  for i=1 to ycodenum
    Randomize '初始化随机数发生器
    ycode=ycode&Int((9*Rnd)) 'rnd是随机数,从0到1之间的任意实数,这里获得0到9之间的整数
  next

  response.write ycode '就可以输出数字验证码(4位)

  然而,我们要让数字和字母同样随机生成,这里我们可以用到数组来实现这种效果,如下:

  ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z" '将数字和大写字母组成一个字符串
  yc=split(char,",") '将字符串生成数组
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '数组一般从0开始读取,所以这里为35*Rnd
  next

  response.write ycode
  
  现在看看输出结果是不是数字和字母随机组合的呢?

  下面看看怎样生成图片,这个也许有些朋友知道:asp不能生成图片,必须使用asp组件。不错,我们这里使用的是ASP图象组件shotgraph。有一点大家注意,服务器不是自己的不能用哦,因为你装不了这组件。

  组件的下载地址:http://www.knowsky.com/download/ShotGraph.rar,至于怎么注册,这里就不多说了,网上有很多资料

  我们看看生成图片的代码:

  ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z" '将数字和大写字母组成一个字符串
  yc=split(char,",") '将字符串生成数组
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '数组一般从0开始读取,所以这里为35*Rnd
  next

  Response.Clear
  Response.ContentType="image/gif"
  set obj=Server.CreateObject("shotgraph.image")
  x=55 '图片的宽
  y=26 '图片的高
  obj.CreateImage x,y,8 '8是图片的颜色8位
  obj.SetColor 0,55,126,222
  obj.SetColor 1,255,255,255

  obj.CreatePen "PS_SOLID",1,0
  obj.SetBgColor 0
  obj.Rectangle 0,0,x-1,y-1
  obj.SetBkMode "TRANSPARENT"
  obj.CreateFont "Arial",136,18,1,False,False,False,False
  obj.SetTextColor 1
  obj.TextOut 5,4,ycode&" "

  img=obj.GifImage(-1,1,"")
  Response.BinaryWrite (img)

  针对以上代码也就是说shotgraph普通的画图的原理请参考:http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.html

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/) 
展开更多 50%)
分享

猜你喜欢

数字和字母组合并生成图片的验证码祥解

ASP
数字和字母组合并生成图片的验证码祥解

jsp 生成验证码代码

Web开发
jsp 生成验证码代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例

编程语言 网络编程
Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例

无组件生成BMP验证码

ASP
无组件生成BMP验证码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

12306图片验证码怎么样 12306验证码图片怎么用

软件教程
12306图片验证码怎么样 12306验证码图片怎么用

PHP生成带有雪花背景的验证码

PHP
PHP生成带有雪花背景的验证码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《FIFA 16》单人联赛及阵容组建心得分享攻略

《FIFA 16》单人联赛及阵容组建心得分享攻略

用Asp+XmlHttp实现RssReader功能

用Asp+XmlHttp实现RssReader功能
下拉加载更多内容 ↓