验证码 c#版本

原创 2004年07月12日 13:03:00
private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   //RndNum是一个自定义函数
   string VNum=RndNum(4); //这里的数字4代表显示的是4位的验证字符串!
   Session["VNum"]=VNum;
   ValidateCode(VNum);
  }

  //生成图像函数
  private void ValidateCode(string VNum)
  {
   int Gheight=(int)(VNum.Length * 7);
   //gheight为图片宽度,根据字符长度自动更改图片宽度
   System.Drawing.Bitmap Img = new System.Drawing.Bitmap(Gheight,12);
   Graphics g = Graphics.FromImage(Img);
   g.DrawString(VNum,new System.Drawing.Font("宋体",9),new System.Drawing.SolidBrush(Color.Red),0,0);
   //在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)
   System.IO.MemoryStream ms=new System.IO.MemoryStream();
   Img.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
   Response.ClearContent(); //需要输出图象信息 要修改HTTP头
   Response.ContentType="image/Png";
   Response.BinaryWrite(ms.ToArray());
   g.Dispose();
   Img.Dispose();
   Response.End();
  }

  //生成随机数函数中从Vchar数组中随机抽取
  //字母区分大小写
  public 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,W,X,Y,Z" ;
  
   string[] VcArray = Vchar.Split(',') ;
   string  VNum = "" ;//由于字符串很短,就不用StringBuilder了
   int temp = -1 ;//记录上次随机数值,尽量避免生产几个一样的随机数

   //采用一个简单的算法以保证生成随机数的不同
   Random rand =new Random();
   for ( int i = 1 ; i < VcodeNum+1 ; i++ )
   {   
    if ( temp != -1)
    {
     rand =new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
    }   
    //int t =  rand.Next(35) ;
    int t=rand.Next(35);
    if (temp != -1 && temp == t)
    {
     return RndNum( VcodeNum );
    }
    temp = t  ;
    VNum += VcArray[t];

   }
   return VNum ;
  }

验证码 C#版本

 using System;using System.Data;using System.Configuration;using System.Collections;using System.Web...
  • go_now
  • go_now
  • 2007年05月30日 18:39
  • 617

C#生成简单验证码

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

C#生成验证码(纯数字)

新建一个验证码生成类,名为ValidateCodeHelper.cs using System; using System.Collections.Generic; using System.Dr...
  • fly043488
  • fly043488
  • 2017年04月01日 10:48
  • 1094

C#验证码的使用

1、C#创建验证码 1.1 创建获取验证码页面(ValidateCode.aspx) 获取验证码 获取验证码 1.2 编写获取验证码代码(...
  • pan_junbiao
  • pan_junbiao
  • 2012年07月22日 15:33
  • 10031

Net(C#)实现网页验证码功能

///  /// ValidateCode 的摘要说明。 ///  public class ValidateCode : System.Web.UI.Page {  private void Pag...
  • MadeInJack
  • MadeInJack
  • 2008年04月05日 08:02
  • 401

C#生成随机验证码例子

C#生成随机验证吗例子:  前端: 1 2 "24%" height="26" align="center" valign="top"> 3 验证...
  • CoderJYF
  • CoderJYF
  • 2017年01月17日 10:25
  • 861

C# Web 端添加登录验证码

写在前面:最近做的学校项目需要添加登录验证码,而我又是一个刚转专业到计算机的学渣,所以对添加 Web 端验证码一窍不通。不过在请教了同学,以及在网上找各种资料,经过自己的测试,算是加了一个简单的登录验...
  • zhangzhe_0305
  • zhangzhe_0305
  • 2017年09月14日 08:47
  • 744

C#识别简单的验证码(中)

在上一篇《C#识别简单的验证码(上)》中,我们给出了验证码识别的方法步骤。实际上是可以分为训练,建立样本库和识别两个部分,在本篇中将讲如何用C#实现训练和建立样本库。 回顾上一篇所讲的方法,训练和...
  • louislong007
  • louislong007
  • 2015年08月15日 16:29
  • 2035

c#登录加验证码

登录时加个验证码,看起来正规一点,直接上代码吧………………………………………… /// /// /// public class ValidateManager ...
  • Vanqqqq
  • Vanqqqq
  • 2016年10月20日 15:41
  • 1420

c#破解验证码示例代码

来自:http://outofmemory.cn/code-snippet/2037/c-pojie-yanzhengma-example-code 验证码破解是一个很大的课题,也有很多种不同的方式...
  • ArvinStudy
  • ArvinStudy
  • 2013年02月04日 17:43
  • 1388
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:验证码 c#版本
举报原因:
原因补充:

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