菜鸟学ASP.NET之验证码生成
来源:互联网 发布:淘宝天下传媒有限公司 编辑:程序博客网 时间:2024/06/16 16:21
验证码在网站建设中的重要作用就不用我说了,如果不了解去问问度娘。今天就来简单介绍下ASP.NET下简单、实用的验证码编程。
先给大家看看效果:
怎么样,机器是不是很难识别。
首先,打开VS,在项目中右键、添加一个WEB窗体,在这里我们起名:VCode
打开VCode.aspx的后台代码。
直接上代码吧:
protected void Page_Load(object sender, EventArgs e) { string str = string.Empty; Color[] colorArray = new Color[] { Color.FromArgb(0x7c, 0xb5, 0xec), Color.FromArgb(0x43, 0x43, 0x48) }; string[] strArray = new string[] { "Times New Roman", "MS Mincho", "Book Antiqua", "Gungsuh", "PMingLiU", "Impact" }; char[] chArray = new char[] { '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 random = new Random(); for (int i = 0; i < 4; i++) { str = str + chArray[random.Next(chArray.Length)]; } Bitmap image = new Bitmap(80, 0x19); Graphics graphics = Graphics.FromImage(image); graphics.Clear(Color.FromArgb(0xe2, 0xe2, 0xe2)); for (int j = 0; j < 5; j++) { int num3 = random.Next(100); int num4 = random.Next(40); int num5 = random.Next(100); int num6 = random.Next(40); Color color = colorArray[random.Next(colorArray.Length)]; graphics.DrawLine(new Pen(color), num3, num4, num5, num6); } for (int k = 0; k < str.Length; k++) { string familyName = strArray[random.Next(strArray.Length)]; Font font = new Font(familyName, 14f); Color color2 = colorArray[random.Next(colorArray.Length)]; graphics.DrawString(str[k].ToString(), font, new SolidBrush(color2), (float)((k * 15f) + 8f), (float)3f); } base.Response.Buffer = true; base.Response.ExpiresAbsolute = DateTime.Now.AddMilliseconds(0.0); base.Response.Expires = 0; base.Response.CacheControl = "no-cache"; base.Response.AppendHeader("Pragma", "No-Cache"); MemoryStream stream = new MemoryStream(); try { image.Save(stream, ImageFormat.Png); base.Response.ClearContent(); base.Response.ContentType = "image/Png"; base.Response.BinaryWrite(stream.ToArray()); } finally { image.Dispose(); graphics.Dispose(); } //this.Session["CheckCode"] = str; 把生成的验证码放在Session中 }
先按F11测试下看看,是不是很有成就感,按F5刷新下看看:
当然,验证码制作成功只是第一步,我们还要把文件引用到具体的页面中,把生成的字符串放在session中去对比。
0 0
- 菜鸟学ASP.NET之验证码生成
- Asp.Net生成验证码
- asp.net生成验证码
- Asp.Net生成验证码
- asp.net生成验证码
- asp.net生成验证码
- Asp.NET 生成验证码
- [ASP.NET]验证码生成
- ASP.NET生成验证码
- ASP.NET生成验证码
- asp .net 生成验证码
- ASP.Net生成验证码
- asp.net 生成验证码
- asp.net生成验证码
- asp.net生成验证码
- asp.net生成验证码
- asp.net生成验证码
- asp.net验证码生成
- 十大Material Design开源项目
- 剑指Offer6:重建二叉树
- 极客学院C#视频教程
- 区间型动态规划
- BZOJ 1174: [Balkan2007]Toponyms
- 菜鸟学ASP.NET之验证码生成
- GNOME 3 添加程序分类文件
- Activiti BPMN 2.0 designer eclipse插件安装
- Hadoop测试搭建环境
- android界面操作引导
- ubuntu下的.desktop文件
- 树形动态规划
- Photoshop从新手到高手阶段性学习
- 如何压缩减小少APK安卓安装包大小