ASP.NET服务器端用C#生成验证码图片

原创 2007年10月11日 10:50:00
private void Page_Load(object sender, System.EventArgs e)
    {
     // 在此处放置用户代码以初始化页面
     Response.BufferOutput = true;    //缓冲输出
     Response.Cache.SetExpires(DateTime.Now.AddMilliseconds(-1));
     Response.Cache.SetCacheability(HttpCacheability.NoCache);
     Response.AppendHeader("Pragma", "No-Cache");
     string key=CreateValidateKey(5);//生成验证码,参数为验证码长度
     Session["ValiDateKey"]=key;//验证码保存到Session,以便调用页面效验
     CreateValidateImage(key);//生成并输出验证码图像
    }

   private string CreateValidateKey(int keyLength)
    {
     System.Text.StringBuilder sb=new System.Text.StringBuilder();
     string key="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZz";

     char[] keyBase=key.ToCharArray();

     Random rnd=new Random();

     for(int i=0;i<keyLength;i++)
     {
   sb.Append(keyBase[rnd.Next(0,keyBase.Length)]);
     }

     return sb.ToString();
    }

    private void CreateValidateImage(string key)
    {
     Bitmap validateImg=new Bitmap(key.Length*14,24,PixelFormat.Format24bppRgb);//宽60,高30,24位RGB颜色
     Graphics g=Graphics.FromImage(validateImg);//绘图对象
     Font f=new Font("Arial",12,FontStyle.Bold);
     g.Clear(Color.DarkSalmon);//填充背景色

     g.DrawString(key,f,Brushes.White,new PointF(0,2));//将字写到画板
     //可在此再添加干扰线条的代码
     g.Save();

     MemoryStream m=new MemoryStream();
     validateImg.Save(m,ImageFormat.Gif);//输出内存流

     Response.ClearContent();//清除所有内容
     Response.ContentType="image/bmp";//输出类型位图像
     Response.BinaryWrite(m.ToArray());
     Response.End();
    } 

漂亮的验证码(.Net MVC)


  • hzgang811856054
  • hzgang811856054
  • 2014年08月08日 03:48
  • 8387

C#-ASP.NET 自动生成验证码

string code = CreateRandomCode(5); TempData["SecurityCode"] = code; return F...
  • wpg_boke
  • wpg_boke
  • 2016年08月13日 22:50
  • 194

ASP.NET中怎样实现图片验证码功能,并且点击图片会刷新

------ 基本思路: 图片的src=后台的一个函数,此函数返回按照一定规则生成的图片文件流。 然后此图片即可生成。 那么怎样刷新验证码呢,这是个问题。 因为给图片的src赋了值之后,想要更换一个图...
  • festone000
  • festone000
  • 2015年11月24日 00:13
  • 2966

C# MVC 生成图片验证码

Controller using System; using System.Collections.Generic; using System.Linq; using System.Web; usin...
  • KingCruel
  • KingCruel
  • 2016年06月17日 11:11
  • 2806

C#生成图片验证码

private void CreateImage(string codes) { try { int i...
  • pp_fzp
  • pp_fzp
  • 2016年03月18日 20:56
  • 1294

ASP.NET中验证码的生成和使用

ASP.NET中验证码的生成和使用
  • WangLiTao_0927
  • WangLiTao_0927
  • 2017年01月05日 09:08
  • 3433

C#生成简单验证码

我们平时无论是网站登录还是注册,都会频繁的遇到各式各样的验证码 ,其实生成验证码对于C#来说非常简单。 下面就是我学习生成验证码的简单实例。 封装的辅助类代码,如下: 1 using Syste...
  • CodeSection
  • CodeSection
  • 2017年02月23日 11:11
  • 928

C#采用画图方式生成验证码样式图片

本文是关注如何使用Graphics生成验证码样式,效果如图: 1. 用C#创建一个基于Windows Form的应用程序; 2. 拖一个【pictureBox】到窗体中,双击该控件,在Click...
  • dijkstar
  • dijkstar
  • 2013年12月20日 21:24
  • 1303

C#获取网页中的验证码图片

有时候我们需要获得网页上的图片,尤其是向验证码这样的图片.这个方法就是将网页上的图片获取到PictureBox中.效果入下图所示. 右边是使用Webbrowser控件装载的某网站的注册页...
  • u014598642
  • u014598642
  • 2014年04月11日 10:52
  • 1093

asp.net中验证码的生成和引用

分类:             程序开发              2010-06-04 14:45     234人阅读     评论(0)     收藏     举报     ...
  • Cherishchance
  • Cherishchance
  • 2013年07月29日 20:22
  • 536
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET服务器端用C#生成验证码图片
举报原因:
原因补充:

(最多只允许输入30个字)