asp.net 验证码

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Drawing;

using System.IO;

/// <summary>

/// 生成随机验证码

/// </summary>

public partial class ProductInfo_Login_Range : System.Web.UI.Page

{

Random random = new Random();

protected void Page_Load(object sender, EventArgs e)

{

string str = getRandomValidate(4);

Session.Add("RangeCode",str); //这一步是为了将验证码写入Session,进行验证,不能缺省,也可一使用cookie

//HttpCookie cook = new HttpCookie("code");

//cook.Value = str;

getImageValidate(str);

}

//得到随机字符串,长度自己定义

private string getRandomValidate(int len)

{

int num;

int tem;

string rtuStr = "";

for (int i = 0; i < len; i++)

{

num = random.Next();

if (num % 2 == 0)

tem = num % 10 + '0';//生成数字

else

tem = num % 26 + 'A';//生成字符

rtuStr += Convert.ToChar(tem).ToString();

}

return rtuStr;

}

//生成图像

private void getImageValidate(string strValue)

{

//string str = "OO00"; //前两个为字母O,后两个为数字0

int width = Convert.ToInt32(strValue.Length * 12); //计算图像宽度

Bitmap img = new Bitmap(width, 23);

Graphics gfc = Graphics.FromImage(img); //产生Graphics对象,进行画图

gfc.Clear(Color.White);