c语言删去字符串特定字符 在ASP.NET下实现数字和字符相混合的验证码
在ASP.NET下实现数字和字符相混合的验证码
经常在论坛里看到有问怎么实现验证码的帖子 其实关于验证码的文章在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>
lishixinzhi/Article/program/net/201311/13865相关文章
- c语言 字符串 网址 编写一个c语言程序:输入字符串s,将s中的前导空格和尾随空格删去,中间连续多个空格缩减为一个空格。
- C语言将数字字符转化成数字 C语言如何实现整形转换成字符型然后赋值到字符数组
- c语言中字符常量怎样才合法 c语言中的取反符号“∽”要怎样才能打出来呀?
- C语言正整数因子 C语言题目:输入一个正整数n(1
- c语言整数类型 C语言程式设计:输入一个整数并能逐位正序或反位输出,用递回完成。
- 字符和字符串 ASP.NET入门教程 9.1.6 使用字符串[1]
- 字符串的格式化方法 ASP.NET 中字符的格式化输出
- c语言逐行读取txt文件 在ASP.NET页中读取文本文件
- C语言输入一个字符串再逆序 java编写程序,读入用户输入的一个字符串,然后确定并输出每一个小写元音字母(a,e,i,o,u)在
- 字符串举例 浅析PHP中的字符串编码转换(自动识别原编码)
爱学记

微信收款码
支付宝收款码