分享
 
 
 

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

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如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.wrclub.net/down.aspx?id=545,至于怎么注册,这里就不多说了,网上有很多资料

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

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

OK,这样就完成了,我们来看看效果吧!

说明,以上生成图片组件和代码由毒爱提供,大家有什么建议或者更好的方法,可以到网人论坛(http://bbs.wrclub.net)发贴,网人论坛始终欢迎您的到来!

原始出处:http://www.wrclub.net/show.aspx?id=1524

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有