·您的位置: 首页 » 资源教程 » 编程开发 » ASP » 数字和字母组合并生成图片的验证码祥解

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

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

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)
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1