asp.net下生成英文字符数字验证码的代码
作者:
用了asp.net随机数,获取指定位数的字母或数字以后,进行图片输出的验证码函数。
复制代码 代码如下:
using System;
using System.Data;
using System.Configuration;
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.Drawing.Drawing2D;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(50, 25);
Graphics g = Graphics.FromImage(bmp);
SolidBrush sb = new SolidBrush(getColor());
g.DrawString(CheckNumber(), new Font("宋体", 16), sb, 0, 0);
bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}
public static string CheckNumber()
{
string checkcode = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int len = 4;
string tmpstr = "";
int iRandNum;
Random rnd = new Random();
for (int i = 0; i < len; i++)
{
iRandNum = rnd.Next(checkcode.Length);
tmpstr += checkcode[iRandNum];
}
return tmpstr;
}
private Color getColor()
{
Random r = new Random();
return Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));
}
}