做登陆页面的随机验证码
2006-09-13 23:38
405 查看
先放上这页代码:(radamdata.aspx是用来产生验证码图片用的)
[align=left]Imports System.Drawing[/align]
[align=left]Imports System.IO[/align]
[align=left]Partial Class test2[/align]
[align=left] Inherits System.Web.UI.Page[/align]
[align=left] [/align]
[align=left] Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load[/align]
[align=left] ' 在此处放置用户代码以初始化页面[/align]
[align=left] If Not Page.IsPostBack Then[/align]
[align=left] Me.GenImg(Me.GenCode(4))[/align]
[align=left] [/align]
[align=left] End If[/align]
[align=left] End Sub[/align]
[align=left] [/align]
[align=left] Private Function GenCode(ByVal num As Integer) As String[/align]
[align=left] Dim [source] As String() = {"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"}[/align]
[align=left] Dim code As String = ""[/align]
[align=left] Dim rd As New Random()[/align]
[align=left] Dim i As Integer[/align]
[align=left] For i = 0 To num - 1[/align]
[align=left] code += [source](rd.Next(0, [source].Length))[/align]
[align=left] Next i[/align]
[align=left] Return code[/align]
[align=left] End Function 'GenCode[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] '生成图片[/align]
[align=left] Private Sub GenImg(ByVal code As String)[/align]
[align=left] Dim myPalette As New Bitmap(60, 20) '定义一个画板[/align]
[align=left] Dim gh As Graphics = Graphics.FromImage(myPalette) '在画板上定义绘图的实例[/align]
[align=left] Dim rc As New Rectangle(0, 0, 60, 20) '定义一个矩形[/align]
[align=left] gh.FillRectangle(New SolidBrush(Color.Silver), rc) '填充矩形[/align]
[align=left] gh.DrawString(code, New Font("宋体", 16), New SolidBrush(Color.Gray), rc) '在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)[/align]
[align=left] myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) '将图片显示出来[/align]
[align=left] '下面这些也是将图片显示出来的![/align]
[align=left] 'Dim ms As MemoryStream = New MemoryStream[/align]
[align=left] 'myPalette.Save(ms, Imaging.ImageFormat.Jpeg)[/align]
[align=left] ' Response.ClearContent()[/align]
[align=left] ' Response.ContentType = "image/jpeg"[/align]
[align=left] ' Response.BinaryWrite(ms.ToArray)[/align]
[align=left] Session("ValidateCode") = code '将字符串保存到Session中,以便需要时进行验证[/align]
[align=left] gh.Dispose()[/align]
[align=left] myPalette.Dispose()[/align]
[align=left] End Sub 'GenImg[/align]
[align=left] [/align]
[align=left] [/align]
End Class
..................................................................................................................................................................
放上调用radamdata.aspx的radamindex.aspx的代码
[align=left] Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load[/align]
[align=left] [/align]
[align=left] End Sub[/align]
[align=left] Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click[/align]
[align=left] If TextBox1.Text = Session("ValidateCode") Then[/align]
[align=left] Label1.Text = "haha,你成功了!!!"[/align]
[align=left] Else[/align]
[align=left] Label1.Text = "不对哦"[/align]
[align=left] End If[/align]
[align=left] End Sub[/align]
End Class
然后在randamindex.aspx上放一个image控件,使他的图片连接为randamdata.aspx就行了!!!
[align=left]Imports System.Drawing[/align]
[align=left]Imports System.IO[/align]
[align=left]Partial Class test2[/align]
[align=left] Inherits System.Web.UI.Page[/align]
[align=left] [/align]
[align=left] Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load[/align]
[align=left] ' 在此处放置用户代码以初始化页面[/align]
[align=left] If Not Page.IsPostBack Then[/align]
[align=left] Me.GenImg(Me.GenCode(4))[/align]
[align=left] [/align]
[align=left] End If[/align]
[align=left] End Sub[/align]
[align=left] [/align]
[align=left] Private Function GenCode(ByVal num As Integer) As String[/align]
[align=left] Dim [source] As String() = {"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"}[/align]
[align=left] Dim code As String = ""[/align]
[align=left] Dim rd As New Random()[/align]
[align=left] Dim i As Integer[/align]
[align=left] For i = 0 To num - 1[/align]
[align=left] code += [source](rd.Next(0, [source].Length))[/align]
[align=left] Next i[/align]
[align=left] Return code[/align]
[align=left] End Function 'GenCode[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] '生成图片[/align]
[align=left] Private Sub GenImg(ByVal code As String)[/align]
[align=left] Dim myPalette As New Bitmap(60, 20) '定义一个画板[/align]
[align=left] Dim gh As Graphics = Graphics.FromImage(myPalette) '在画板上定义绘图的实例[/align]
[align=left] Dim rc As New Rectangle(0, 0, 60, 20) '定义一个矩形[/align]
[align=left] gh.FillRectangle(New SolidBrush(Color.Silver), rc) '填充矩形[/align]
[align=left] gh.DrawString(code, New Font("宋体", 16), New SolidBrush(Color.Gray), rc) '在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)[/align]
[align=left] myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) '将图片显示出来[/align]
[align=left] '下面这些也是将图片显示出来的![/align]
[align=left] 'Dim ms As MemoryStream = New MemoryStream[/align]
[align=left] 'myPalette.Save(ms, Imaging.ImageFormat.Jpeg)[/align]
[align=left] ' Response.ClearContent()[/align]
[align=left] ' Response.ContentType = "image/jpeg"[/align]
[align=left] ' Response.BinaryWrite(ms.ToArray)[/align]
[align=left] Session("ValidateCode") = code '将字符串保存到Session中,以便需要时进行验证[/align]
[align=left] gh.Dispose()[/align]
[align=left] myPalette.Dispose()[/align]
[align=left] End Sub 'GenImg[/align]
[align=left] [/align]
[align=left] [/align]
End Class
..................................................................................................................................................................
放上调用radamdata.aspx的radamindex.aspx的代码
[align=left] Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load[/align]
[align=left] [/align]
[align=left] End Sub[/align]
[align=left] Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click[/align]
[align=left] If TextBox1.Text = Session("ValidateCode") Then[/align]
[align=left] Label1.Text = "haha,你成功了!!!"[/align]
[align=left] Else[/align]
[align=left] Label1.Text = "不对哦"[/align]
[align=left] End If[/align]
[align=left] End Sub[/align]
End Class
然后在randamindex.aspx上放一个image控件,使他的图片连接为randamdata.aspx就行了!!!
相关文章推荐
- 简单登陆页面验证码制作和jsp中获取验证码内容
- web系统登陆页面增加验证码
- 简单登陆升级版(加入验证码、在session时间内登陆logon.do直接进入成功登陆页面)
- 实现网页随机登陆验证码功能
- 用selenium模拟登陆知乎账号,处理登陆界面随机出现验证码窗口的问题
- AppScan对登陆页面含有验证码的web系统无法扫描
- WEB登陆页面加验证码
- 登陆页面打开时自动刷新下验证码
- java抓取带验证码登陆后的页面
- 带验证码的HTML5登陆页面
- ecamll2.2.1登陆页面login.html如何打开验证码
- session实现带随机验证码的登陆
- 密码 验证码登陆 同一页面
- 如何在登陆页面上显示验证码
- 留言板----一个登陆页面(带验证码)
- Java 使用JSP页面生成随机验证码
- Flex 带验证码的登陆页面
- JEECG--去掉(增加)登陆页面验证码功能
- web项目登陆页面添加验证码
- Jsp页面生成随机验证码图片