C#验证码

 1 界面展示
 2 <img id="zsCode" />
 3 <a id="id" style="cursor:pointer">换一张</a>
 4 
 5 //验证码的生成
 6 int verifyLength=6;
 7 int width=100, height=20;
 8 SizeF verifyTextSize;
 9 Bitmap bitmap=new Bitmap(Server.MapPath("~/pic/img.jpg"),true);//干扰图片
10 
11 TextureBrush brush=new TextureBrush (bitmap);
12 
13 string verifyText=VerifyText(verifyLength)//获取验证码
14 Session["VerifyCode"]=verifyText.ToUpper();//存储验证码
15 Font font=new Font("Arial",14,FontStyle.Bold);
16 Bitmap image=new Bitmap(width,height);
17 Graphics gs=Graphics.FromImage(image);
18 gs.Clear(Color.White);//清空背景色
19 
20 //绘制验证码
21 
22 verifyTextSize=gs.MeasureString(verifyText,font,brush,(width-verifyTextSize.Width)/2,(height-verifyTextSize.Height)/2);
23 
24 image.Save(Response.OutputStream,system.Drawing.Imaging.ImageFormat.Jpeg);
25 
26 gs.DrawString(verifyText,font,);
27 
28 
29 public static string VerifyText(int length)
30 {
31     char[] verify=new Char[length];
32     Random rnd=new Random();
33     char[] dic={'A','B','C','a','b','c','1','9'}; //想要出现在验证码中的字母数字 (区分大小写)    不一一全写了
34     for(int i=0;i<length;i++)
35   {
36       verify[i]=dic[rnd.Next(dic.Length-1)];
37   }
38      return new string (verify);  
39 }
40 
41 
42 //换一张  
43 
44  $("#id").click(function(){
45    $("#zsCode").attr("src","/user/verycode?"+ new Date());
46 })
47 
48 //登录时验证
49 
50    if(Session["VerifyCode"]==null ||Session["VerifyCode"].ToString()=="")
51 return "验证码失效";
52  else if(string.IsNUllOrEmpty(login.yzCode)||Session["VerifyCode"].ToString()!=login.yzCode.ToUpper());
53  return "验证码错误";
原文地址:https://www.cnblogs.com/softwaredeveloper/p/4651272.html