asp.net实现验证码
网人帝国添加时间:2003-11-1814:50:45人气:693
#region实现一个验证码的类
publicclassValidateCode
{
privateBitmapvalidateimage;
privateGraphicsg;
publicValidateCode()
{
validateimage=newBitmap(120,30,PixelFormat.Format24bppRgb);
g=Graphics.FromImage(validateimage);
}
publicvoidDrawValidateCode(Pagee,stringi)
{
g.DrawString(i,newFont("黑体",16,FontStyle.Bold),newSolidBrush(Color.White),new
PointF(2,4));
g.FillRectangle(newLinearGradientBrush(newPoint(0,0),newPoint(120,30),
Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,255,255)),0,0,120,30);
//validateimage.Save(e.OutputStream,ImageFormat.Jpeg);
g.Save();
MemoryStreamms=newMemoryStream();
validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
e.Response.ClearContent();
e.Response.ContentType="image/gif";
e.Response.BinaryWrite(ms.ToArray());
e.Response.End();
//validateimage.Save(e.MapPath("NumImage/ValidateImage.gif"),
ImageFormat.Gif);
//e.End();
}
}
#endregion
privatevoidMakeValidateCode()
{
char[]s=newchar[]{'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','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'};
stringnum="";
Randomr=newRandom();
for(inti=0;i<5;i++)
{
num+=s[r.Next(0,s.Length)].ToString();
}
((LoginUserInfo)Session["LoginUserInfo"]).ValidateNum=num;
TextBox3.Text="";
}
也综合了别人的一部分代码。:)