如何使用ASP.NET实现生成验证码功能的实例代码

这篇文章主要介绍了asp.net实现的生成验证码功能,结合实例形式较为详细的分析了asp.net生成验证码的原理、步骤与相关实现技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了ASP.NET实现的生成验证码功能。分享给大家供大家参考,具体如下:

生成验证码原理:产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与Session中的验证码相符即可。

效果图:用户可以点击切换验证码信息。

如何使用ASP.NET实现生成验证码功能的实例代码

一般处理程序:CheckCodeHandler.cs

  1. using System;using System.Web;using System.Text;using System.Drawing;using System.Web.SessionState;public class CheckCodeHandler : IHttpHandler,IRequiresSessionState{  //产生验证码的字符集  public string charcode = "2,3,4,5,6,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,U,W,X,Y,a,b,c,d,e,f,g,h,j,k,m,n,p,r,s,u,w,x,y";  public void ProcessRequest (HttpContext context) {    string validateCode = CreateRandomCode(4);    context.Session["ValidateCode"] = validateCode;//将验证码保存到session中    CreateCodeImage(validateCode, context);  }  public bool IsReusable {    get {      return false;    }  }  ///   /// 生成验证码  ///   /// 验证码个数  /// 验证码字符串  public string CreateRandomCode(int n)  {    string[] CharArray = charcode.Split(',');//将字符串转换为字符数组    string randomCode = "";    int temp = -1;    Random rand = new Random();    for (int i = 0; i 

    封装成类库:ValidateNumber.cs


    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Drawing;using System.Web.UI;using System.Drawing.Drawing2D;using System.IO;using System.Drawing.Imaging;/// ///ValidateNumber 生成验证码/// public class ValidateNumber{  //产生验证码的字符集 (易混淆的字符去掉)  private string charcode = "2,3,4,5,6,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,U,W,X,Y,a,b,c,d,e,f,g,h,j,k,m,n,p,r,s,u,w,x,y";  ///   /// 验证码的最大长度  ///   public int MaxLength  {    get { return 10; }  }  ///   /// 验证码的最小长度  ///   public int MinLength  {    get { return 1; }  }  ///   /// 生成验证码  ///   /// 指定验证码的长度  ///   public string CreateValidateNumber(int length)  {    string[] CharArray = charcode.Split(',');//将字符串转换为字符数组    string randomCode = "";    int temp = -1;    Random rand = new Random();    for (int i = 0; i   /// 创建验证码的图片  ///   /// context对象  /// 验证码  public void CreateValidateGraphic(HttpContext context,string validateNum)  {    int iwidth = (int)(validateNum.Length * 14);    Bitmap image = new Bitmap(iwidth, 22);    Graphics g = Graphics.FromImage(image);    try    {      //生成随机生成器      Random random = new Random();      //清空图片背景色      g.Clear(Color.White);      //画图片的干扰线      for (int i = 0; i   /// 得到验证码图片的长度  ///   /// 验证码的长度  ///   public static int GetImageWidth(int validateNumLength)  {    return (int)(validateNumLength * 14);  }  ///   /// 得到验证码图片的高度  ///   ///   public static double GetImageHeight()  {    return 22;  }}
  2. 登录后复制

  3. 以上就是如何使用ASP.NET实现生成验证码功能的实例代码的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    详细介绍Quartz.Net调度框架配置的实例

    2025-3-3 11:57:46

    编程技术

    关于asp.net如何获取浏览器访问的IP地址?

    2025-3-3 11:58:03

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索