ASP.NET开发中验证码的实现步骤

来源:爱站网时间:2020-06-29编辑:网友分享
用户注册需要输入验证码的步骤,这个功能现在已经普及到很多开发了,那么它是如何产生的呢?别着急,今天爱站技术频道小编就为大家带来了ASP.NET开发中验证码的实现步骤,希望能帮到大家。

用户注册需要输入验证码的步骤,这个功能现在已经普及到很多开发了,那么它是如何产生的呢?别着急,今天爱站技术频道小编就为大家带来了ASP.NET开发中验证码的实现步骤,希望能帮到大家。

我主要是看到干扰线了,一个验证码里面要是没有干扰线什么的,至少得在噪点和随机码的排版上下工夫:

 /// 
 /// 验证码生成类
 /// 
 public class verify_code : IHttpHandler, IRequiresSessionState
 {
  public void ProcessRequest(HttpContext context)
  {
   int codeW = 80;
   int codeH = 22;
   int fontSize = 16;
   string chkCode = string.Empty;
   //颜色列表,用于验证码、噪线、噪点 
   Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };
   //字体列表,用于验证码 
   string[] font = { "Times New Roman", "Verdana", "Arial", "Gungsuh", "Impact" };
   //验证码的字符集,去掉了一些容易混淆的字符 
   char[] character = { '0', '1', '2', '3', '4', '5', '6', '8', '9' };
   Random rnd = new Random();
   //生成验证码字符串 
   for (int i = 0; i 

基本验证生成代码demo:

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web;

public partial class image : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
  string tmp = RndNum(4);
  HttpCookie a = new HttpCookie("ImageV", tmp);
  Response.Cookies.Add(a);
  this.ValidateCode(tmp);
 }

 private void ValidateCode(string VNum)
 {
  Bitmap Img = null;
  Graphics g = null;
  MemoryStream ms = null;
  int gheight = VNum.Length * 12;
  Img = new Bitmap(gheight, 25);
  g = Graphics.FromImage(Img);
  //背景颜色
  g.Clear(Color.White);
  //文字字体
  Font f = new Font("Arial Black", 10);
  //文字颜色
  SolidBrush s = new SolidBrush(Color.Black);
  g.DrawString(VNum, f, s, 3, 3);
  ms = new MemoryStream();
  Img.Save(ms, ImageFormat.Jpeg);
  Response.ClearContent();
  Response.ContentType = "image/Jpeg";
  Response.BinaryWrite(ms.ToArray());

  g.Dispose();
  Img.Dispose();
  Response.End();
 }

 private string RndNum(int VcodeNum)
 {
  string Vchar = "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";
  string[] VcArray = Vchar.Split(new Char[] { ',' });
  string VNum = "";
  int temp = -1;

  Random rand = new Random();

  for (int i = 1; i 

以上就是爱站技术频道小编为大家带来的ASP.NET开发中验证码的实现步骤,相信认真看完的朋友都已经懂了,我们要根据实际来考虑哦,若有不完整也欢迎大家补充。

上一篇:Asp.net中将二级域名绑定控制器的操作步骤

下一篇:ASP.Net开发中datatable的几种思路

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载