验证码
来源:互联网 发布:网络可视化 编辑:程序博客网 时间:2024/04/29 09:15
我也是初学不大会 这是别人给我的
验证码程序 image.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Drawing.Imaging;
using System.IO;
namespace wsbm2005
{
/// <summary>
/// image 的摘要说明。
/// </summary>
public class image : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
{
//生成4位的驗證碼
string tmp = RndNum(4);
Session["CheckCode"] = tmp;
this.ValidateCode(tmp);
}
}
private string RndNum(int VcodeNum)
{
string Vchar="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";
string[] VcArray=Vchar.Split(new Char [] {','});
string VNum="";
int temp=-1;
Random rand=new Random();
for(int i=1;i<VcodeNum+1;i++)
{
if(temp!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
if(temp!=-1&&temp==t)
{
return RndNum(VcodeNum);
}
temp=t;
VNum+=VcArray[t];
}
return VNum;
}
private void ValidateCode(string VNum)
{
Bitmap Img=null;
Graphics g=null;
MemoryStream ms=null;
int gheight=VNum.Length*12;
Img=new Bitmap(gheight,25);
g=Graphics.FromImage(Img);
//背景顏色
g.Clear(Color.White);
//文字字體
Font f=new Font("Arial", 12, System.Drawing.FontStyle.Bold);
//文字顏色
SolidBrush s=new SolidBrush(Color.Black);
g.DrawString(VNum,f,s,3,3);
ms=new MemoryStream();
Img.Save(ms,ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType="image/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
Img.Dispose();
Response.End();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
我在login.aspx里用的代码
<asp:TextBox id="txtyzm" runat="server" Width="112px"></asp:TextBox>(输入验证码的文本框)
<asp:Image ID="yzm" runat="server" ImageUrl="image.aspx"></asp:Image>
在login.aspx.cs里的代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;//开始我没加这句没好使,后来加上了好使了,但一直没知道为什么
.
.
.
protected System.Web.UI.WebControls.Image yzm;
protected System.Web.UI.WebControls.TextBox txtyzm;
.
.
.
if (Session["CheckCode"].ToString()!=txtyzm.Text.Trim())
{
msg1.Text="验证码错误! ";
}
else
{ }
希望能对你有所帮助!:)
- 简单验证码验证
- 验证验证码
- 验证码的验证
- 验证码的验证
- 验证码客户端验证
- java验证码 验证
- 验证码验证模块
- 手机短信验证码验证
- 验证验证码
- 表单验证+验证码
- thinkphp 验证码功能(验证验证码)
- 验证码
- 验证码
- 验证码
- 验证码
- 验证码
- 验证码
- 验证码
- 通过编程察看处理机的内存管理策略
- 这个是可以将得到速查编码的存储过程 如 中国人 可以得到 ZGR
- Linux命令(非原创)
- 如何将指定的汉字转成拼音?
- 女生写的如何追mm(玩计算机的都不好找老婆,所以得学学啊)
- 验证码
- 第三只眼睛看超女
- 如何在一个基于对话框的程序中添加 Menu 菜单
- struts 中的and的使用及联系.属性说明
- 组合模式(Composite)
- SAP的面试题
- 在Asp.net中为图像加入版权信息
- 解决java、jsp显示中文问题
- 开始Java Servlet