下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ASP.NET生成图形验证码的方法详解_ 本文实例讲解并描述了ASP.NET生成图形验证码的方法。分享给大家供大家参考,具体如下: 通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置。该字符串可以包含数字、字母等。 (2)将随机生成的字符串创建成图片,并显示。 (3)保存验证码。 新建一个页面为default.aspx, 放置一个TextBox控件和一个Image控件,TextBox控件用于输入生成的字符串,Image控件用于显示字符串,它的图片就为生成的图形验证码imageUrl=“/default.aspx”; defaul
2、t.aspx页面的源代码为: form id=form1 runat=server div asp:TextBox ID=TextBox1 runat=server/asp:TextBox asp:Image ID=Image1 imageUrl=“/default.aspx” runat=server / /div /form 图形验证码的代码为: using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security
3、; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Drawing; public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) st
4、ring validateNum = CreateRandomNum(4); CreateImage(validateNum); SessionValidateNum = validateNum; /生产随机数 private string CreateRandomNum(int NumCount) string allChar = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,O,P,Q,R,S,T,U,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,s,t,u,w,x,y,z; string allCharArray =
5、 allChar.Split(,);/拆分成数组 string randomNum = ; int temp = -1; /记录上次随机数的数值,尽量避开产生几个相同的随机数 Random rand = new Random(); for (int i = 0; i NumCount; i+) if (temp != -1) rand = new Random(i*temp*(int)DateTime.Now.Ticks); int t = rand.Next(35); if (temp = t) return CreateRandomNum(NumCount); temp = t; rand
6、omNum += allCharArrayt; return randomNum; /生产图片 private void CreateImage(string validateNum) if (validateNum = null | validateNum.Trim() = string.Empty) return; /生成BitMap图像 System.Drawing.Bitmap image = new System.Drawing.Bitmap(validateNum.Length*12+12,22); Graphics g = Graphics.FromImage(image); t
7、ry /生成随机生成器 Random random = new Random(); /清空图片背景 g.Clear(Color.White); /画图片的背景噪音线 for (int i = 0; i 25; i+) int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Silver),x1,x2,y1,y2); Fo
8、nt font = new System.Drawing.Font(Arial,12,(System.Drawing.FontStyle.Bold|System.Drawing.FontStyle.Italic); System.Drawing.Drawing2D.LinearGradientBrush brush=new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2f,true); g.DrawStrin
9、g(validateNum,font,brush ,2,2); /画图片的前景噪音点 for( int i=0;i100;i+) int x=random.Next(image.Width); int y=random.Next(image.Height); image.SetPixel(x,y,Color.FromArgb(random.Next(); /画图片的边框线 g.DrawRectangle(new Pen(Color.Silver),0,0,image.Width-1,image.Height-1); System.IO.MemoryStream ms=new System.IO.MemoryStream(); /将图像保存到指定流 image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); Respo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探索盘状液晶分子:结构特征与电学性能的深度剖析
- 2026东风资产管理有限公司招聘2人笔试备考题库及答案解析
- 2026浙江农业商贸职业学院劳务派遣人员招聘4人(第一批)考试备考题库及答案解析
- 2026浙江台州市玉环市社会治理中心招聘编外人员1人考试备考题库及答案解析
- 2026龙岩市煤炭行业服务中心招聘就业见习人员1人考试备考题库及答案解析
- 扬州中远海运重工公司2026届春季校园招聘笔试备考试题及答案解析
- 2026安徽省定向招录选调生中同步开展人才招聘170人考试备考题库及答案解析
- 高中数学空间几何重点难点解析
- 雕塑安装过程中的法律责任
- 小学语文识字教学经验交流与反思
- 重庆市制造业领域吸纳高校毕业生急需紧缺岗位目录(2024-2025)征
- 高中数学三年教学规划
- 保卫科部门绩效考核标准
- 《食品安全监测与风险评估》课件
- 硫磺购销合同协议
- 课件:《习近平新时代中国特色社会主义思想学习纲要(2023年版)》第八章 中华人民共和国的成立与中国社会主义建设道路的探索
- 《明清中国版图的奠定与面临的挑战》单元教学设计- 近代前夜的盛世与危机
- 人员退休欢送会34
- DB21T 2385-2014 玉米高产耕层土壤改良技术规程
- 2024年全国中学生生物学联赛试题含答案
- 大学生心理健康与发展学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论