网站建设资讯

NEWS

网站建设资讯

如何进行网站验证码制作

这篇文章给大家介绍如何进行网站验证码制作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

岷县网站建设公司创新互联,岷县网站设计制作,有大型网站制作公司丰富经验。已为岷县近1000家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的岷县做网站的公司定做!

asp.net验证码制作

using System;

using System.IO;

using System.Drawing;

using System.Drawing.Imaging;

using System.Text;

using System.Collections;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls; 

namespace WebApplication1

{

    public partial class yzm : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e) 

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", "MS Mincho", "Book Antiqua", "Gungsuh", "PMingLiU", "Impact" }; 

//验证码的字符集,去掉了一些容易混淆的字符 

char[] character ={ '2', '3', '4', '5', '6', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' }; 

Random rnd = new Random(); 

//生成验证码字符串 

for (int i = 0; i < 4; i++) 

chkCode += character[rnd.Next(character.Length)]; 

}

//用session对象存储验证码

Session["name"] = chkCode;

Bitmap bmp = new Bitmap(100, 40); 

Graphics g = Graphics.FromImage(bmp); 

g.Clear(Color.White); 

//画噪线 

for (int i = 0; i < 10; i++) 

int x1 = rnd.Next(100); 

int y1 = rnd.Next(40); 

int x2 = rnd.Next(100); 

int y2 = rnd.Next(40); 

Color clr = color[rnd.Next(color.Length)]; 

g.DrawLine(new Pen(clr), x1, y1, x2, y2); 

//画验证码字符串 

for (int i = 0; i < chkCode.Length; i++) 

string fnt = font[rnd.Next(font.Length)]; 

Font ft = new Font(fnt, 18); 

Color clr = color[rnd.Next(color.Length)]; 

g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 20 + 8, (float)8); 

//画噪点 

for (int i = 0; i < 100; i++) 

int x = rnd.Next(bmp.Width); 

int y = rnd.Next(bmp.Height); 

Color clr = color[rnd.Next(color.Length)]; 

bmp.SetPixel(x, y, clr); 

//清除该页输出缓存,设置该页无缓存 

Response.Buffer = true; 

Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0); 

Response.Expires = 0; 

Response.CacheControl = "no-cache"; 

Response.AppendHeader("Pragma", "No-Cache"); 

//将验证码图片写入内存流,并将其以 "p_w_picpath/Png" 格式输出 

MemoryStream ms = new MemoryStream(); 

try 

bmp.Save(ms, ImageFormat.Png); 

Response.ClearContent(); 

Response.ContentType = "p_w_picpath/Png"; 

Response.BinaryWrite(ms.ToArray()); 

finally 

//显式释放资源 

bmp.Dispose(); 

g.Dispose(); 

    }

}

关于如何进行网站验证码制作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


名称栏目:如何进行网站验证码制作
网站路径:http://cdweb.net/article/gchdeh.html