请问:在ASP.NET中如何判断验证码输入是否正确?

发布网友 发布时间:2022-04-24 06:01

我来回答

2个回答

热心网友 时间:2023-10-05 12:11

我给你一个vc2003实例:如下如果需要vs2005请到http://class.socut.com/default.aspx?Socut=Class-View&C_ID=1&C_NodeID=156&L_ID=7274b2ec-320d-43bc-a78b-72cf16a377bc

vs2003如下:

建立HcSir_GetCode.aspx 代码
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;

namespace HuangXi
{
/// <summary>
/// HcSir_GetCode 的摘要说明。
/// </summary>
public class HcSir_GetCode : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Bitmap a = new Bitmap(40, 15, System.Drawing.Imaging.PixelFormat.FormatbppPArgb);//数字为宽和高
Graphics b;
Font c =new Font("Lucida Sans Unicode", 11);//数字为字体大小
Brush d = new SolidBrush(System.Drawing.Color.Red);
Random t= new Random ();
Pen LP = new Pen (Color.YellowGreen ,2);
string k;
k= ((int)t.Next (9999)).ToString() ;
k = k.PadLeft(4,'0');
Session.Add ("YZ_CKM",k.GetHashCode ());//用于记录验证码,如果期望安全,也可拿去加密。到时比较错误与否,就以这个session(或其加密了的数据)为标准了。
b= Graphics.FromImage(a);
b.Clear(Color.White);
for(int i=0;i<100;i+=7)
{
b.DrawLine(LP,i,0,0,i);
}
b.DrawString(k , c, d, -1, -3);//最后两个数是X,Y参数
b.Dispose();

a.Save(Response.OutputStream, ImageFormat.Gif);
}

#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
}
}

下面就是我们实际调用HcSir_GetCode.aspx
if(H_CMK.Text.GetHashCode().ToString () == Session["YZ_CKM"].ToString ())
{
Label1.Text=" 验证码正确!";
}
else
{
Label1.Text=" 验证码输入有误!";
H_CMK.Text="";
}

//说明下 H_CMK是用户输入验证码的表格ID YZ_CMK是HcSir_GetCode.aspx里面对应的验证码值。可以根据你自己的需要自行修改!
//ToString () 是大小写去掉ToString ()就严格控制大小写。

参考资料:http://class.socut.com/

热心网友 时间:2023-10-05 12:12

你随机生成的应该是一个函数 我这有一个方法 在函数生成的页面把这个函数值保存到一个session["yz"]值中 然后在验证的时候比较TextBox.Text中的值与Session["yz"]是否相等 相等则验证数据库 否则返回

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com