ASP.NET如何生成验证码(asp.net,验证码,开发技术)

时间:2024-05-02 19:53:23 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

本文实例为大家分享了ASP.NET生成验证码的具体代码,供大家参考,具体内容如下

首先,添加一个一般处理程序

ASP.NET如何生成验证码

注释很详细了,有不懂的欢迎评论

usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.Linq;usingSystem.Web;usingSystem.Web.SessionState;namespaceProject_Practice{///<summary>///Handler1的摘要说明///</summary>publicclassHandler1:IHttpHandler,IRequiresSessionState{publicvoidProcessRequest(HttpContextcontext){//选取的颜色Color[]colors={Color.White};//通过Bitmap构造ImageImageimg=newBitmap(100,60);//Graphics绘画ImageGraphicsgraphics=Graphics.FromImage(img);Randomrandom=newRandom(DateTime.Now.Millisecond);//验证码的四位数intcharNum1=random.Next('0','9'+1);intcharNum2=random.Next('0','9'+1);intcharNum3=random.Next('0','9'+1);intcharNum4=random.Next('0','9'+1);//把生成的随机数变成字符串,通过char进行转换stringvalidCode=string.Format($"{(char)charNum1}{(char)charNum2}{(char)charNum3}{(char)charNum4}");//放进Session进行存储,记得继承接口,否则疯狂报空指针context.Session["verification_Code"]=validCode;//字体的大小和类别Fontfont=newFont("宋体",24);//随机的颜色Brushbrush2=newSolidBrush(colors[random.Next(0,colors.Length-1)]);//DrawString的四个参数,第一个是要写的字符,第二个是字体,第三个是颜色,第四个是坐标x,ygraphics.DrawString(((char)charNum1).ToString(),font,brush2,7,-3);Brushbrush3=newSolidBrush(colors[random.Next(0,colors.Length-1)]);graphics.DrawString(((char)charNum2).ToString(),font,brush3,26,-9);Brushbrush4=newSolidBrush(colors[random.Next(0,colors.Length-1)]);graphics.DrawString(((char)charNum3).ToString(),font,brush4,50,0);Brushbrush5=newSolidBrush(colors[random.Next(0,colors.Length-1)]);graphics.DrawString(((char)charNum4).ToString(),font,brush5,70,-7);//保存,格式context.Response.ContentType="image/jpeg";img.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);//释放资源graphics.Dispose();img.Dispose();}publicboolIsReusable{get{returnfalse;}}}}

一个web窗体

<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="verification_Code.aspx.cs"Inherits="Project_Practice.verification_Code"%><!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title></head><body><formid="form1"runat="server"><div><asp:ImageID="Image1"runat="server"ImageUrl="~/Handler1.ashx"/></div></form></body></html>

效果图

ASP.NET如何生成验证码

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:ASP.NET如何生成验证码的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:ASP.NET Core自定义中间件怎么读取Request.Body与Response.Body的内容下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18