知识大全 在ASP.NET下实现数字和字符相混合的验证码
Posted 函数
篇首语:浪再高,也在船底;山再高,也在脚底。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在ASP.NET下实现数字和字符相混合的验证码相关的知识,希望对你有一定的参考价值。
在ASP.NET下实现数字和字符相混合的验证码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
经常在论坛里看到有问怎么实现验证码的帖子 其实关于验证码的文章在CSDN DEV CLUB等网站上都有很多 但是很多文章只讲诉了如何输出一个随机生成数字或字符的图象 当然了 这个是验证码的核心了 但是对很多ASP NET的初学者来说 怎么使用它生成的图象又成了一个问题(论坛有不少问这个的) 这也是我写本文的一个原因
言归正传 关于验证码的原理 我就不多说了 大家可以参见其他文章 文末附有完整的实例代码 里面有详细的注释 你可以跳过解说文字 直接使用
首先 我要简要说说Session和ViewState的用法 因为后面会用到它
把数据存储在Session中:Session( key )= test
从Session取值:dim testvalue as string=Session( key )
类似的:
把数据存储在ViewState中:ViewState( key )= test
从ViewState中取值:dim testvalue as string=ViewState( key )
关于ViewState的更详细的资料 你可以参看MSDN的<<ASP NET ViewState 初探>>一文
百闻不如一见 有时代码本身就比任何解说更有表现力 所以在此就不对代码解说太多了 本文实现的验证码需要用到两个文件:
gif aspx 该文件用于生成验证码 ValidateCode aspx 该文件用来测试验证码(即如何使用)
下面给出gif aspx的完整代码:<%@ import namespace= System %><%@ import namespace= System io %><%@ import namespace= System Drawing %><%@ import namespace= System Drawing Imaging %><script language= vb runat= server > Sub Page_Load(Sender as object e as eventargs) RndNum是一个自定义函数 dim VNum as string=RndNum( ) Session( VNum )=VNum ValidateCode(VNum) End Sub 生成图象验证码函数 Sub ValidateCode(VNum) Dim Img as System Drawing Bitmap Dim g as Graphics Dim ms as MemoryStream dim gheight as integer=Int(Len(VNum)* ) gheight为图片宽度 根据字符长度自动更改图片宽度 img=new BitMap(Gheight ) g=Graphics FromImage(img) g DrawString(VNum (New Font( Arial )) (New SolidBrush(color blue)) ) 在矩形内绘制字串(字串 字体 画笔颜色 左上x 左上y) ms=New MemoryStream() img Save(ms ImageFormat Png) Response ClearContent() 需要输出图象信息 要修改HTTP头 Response ContentType= image/Png Response BinaryWrite(ms ToArray()) g Dispose() img Dispose() Response End() End Sub 函数名称:RndNum 函数参数:VcodeNum 设定返回随机字符串的位数 函数功能:产生数字和字符混合的随机字符串 Function RndNum(VcodeNum) dim Vchar as string= A B C D E F G H I J K L M N O P Q R S T U W X Y Z dim VcArray() as string=split(Vchar ) 将字符串生成数组 dim VNum as string= dim i as byte For i= to VcodeNum Randomize VNum=VNum & VcArray(Int( *Rnd)) 数组一般从 开始读取 所以这里为 *Rnd Next Return VNum End Function</script>
cha138/Article/program/net/201311/13865相关参考
ASP实现数字字符混合验证码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 先产生一个位数的随机
ASP.NET验证码技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 验证码技术是目前很多WE
ASP.NET做验证码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 显示验证码的界面前台<
在Asp.net(C#)中添加程序实现验证码功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
ASP.NET验证码(.aspx) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSy
ASP.NET开发中的验证码技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
Asp.net(C#)实现验证码功能两法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET实现验证码功能的Web控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 的设计方
ASP.NET1.1验证码产生的原理及应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASP
PHP简单验证码类:字母+数字字体随机扭曲 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 看了一