知识大全 在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实现数字字符混合验证码

ASP实现数字字符混合验证码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  先产生一个位数的随机

知识大全 ASP.NET验证码技术

ASP.NET验证码技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  验证码技术是目前很多WE

知识大全 ASP.NET 做验证码

ASP.NET做验证码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  显示验证码的界面前台<

知识大全 在Asp.net(C#)中添加程序实现验证码功能

在Asp.net(C#)中添加程序实现验证码功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 ASP.NET验证码(.aspx)

ASP.NET验证码(.aspx)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  usingSy

知识大全 ASP.NET开发中的验证码技术

ASP.NET开发中的验证码技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 Asp.net(C#)实现验证码功能两法

Asp.net(C#)实现验证码功能两法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET 实现验证码功能的Web控件

ASP.NET实现验证码功能的Web控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  的设计方

知识大全 ASP.NET1.1验证码产生的原理及应用

ASP.NET1.1验证码产生的原理及应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP

知识大全 PHP简单验证码类:字母+数字 字体随机扭曲

PHP简单验证码类:字母+数字字体随机扭曲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  看了一