201370034434李豪阳计算机图形学….doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验报告 课名称: 计算机图形学 实验名称: 验证码的生成与识别 专 业: 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 2 一、 验证码的设计与实现 3 1.验证码生成的处理流程图 3 2.验证码生成的程序流程图 3 3. 验证码程序的验证流程图 4 4.验证码程序活动图 5 5.程序运行截图 5 二、 产生随机数和字符的设计与实现 6 三、 添加干扰功能的设计与实现 7 四、 结束语 8 五、 源程序(JAVA) 8 验证码的设计与实现 1.验证码生成的处理流程图 2.验证码生成的程序流程图 图片大小:68px*22px 字符来源:数组char[]包含:26个英文字符和0-9的数字 字符和背景颜色区域:(0-200,0-150,0-255) 输出图片格式:JPG 干扰线:100条 噪点:1000个 验证码程序的验证流程图 开始是从验证页面开始的,在验证页面的输入框输入验证码,输入框的到输入的验证码后转发给处理验证码的LoginServlet与其中在ImageServlet中随机生成的验证码作比较,如果相同,则跳转验证成功页面,如果不同跳转验证失败页面。 4.验证码程序活动图 程序流程图对应的是验证码的设计流程图,其中在验证界面里中,包含着转发信息,而验证码的生成与识别全在Servlet中进行的,验证界面仅仅是转发机制实现数据的获取与发送。其中在ImageServlet中设计了图片的大小、字符的来源、干扰线和噪声,在LoginServlet中设计了验证码的识别与获取输入的验证信息,这就是整体流程。 5.程序运行截图 生成验证码 刷新验证码 输入与验证成功 输入与验证失败 产生随机数和字符的设计与实现 这次的验证码的设计与实现我是用java语言来完成的,所以对于随机数和字母的产生,这里要用的最基本的random的知识,下面是代码的实现: s = new String[4]; s[0] = setRndomString()[random.nextInt(62)]; s[1] = setRndomString()[random.nextInt(62)]; s[2] = setRndomString()[random.nextInt(62)]; s[3] = setRndomString()[random.nextInt(62)]; // 随机生成四个字符大小和位置,并将字符画到图片上 g.setFont(new Font(Times New Roman, Font.PLAIN, 30 + random .nextInt(20))); g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110))); g.drawString(s[0], 20 + random.nextInt(15), 40 + random.nextInt(30)); g.setFont(new Font(Times New Roman, Font.PLAIN, 30 + random .nextInt(20))); g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110))); g.drawString(s[1], 50 + random.nextInt(15), 40 + random.nextInt(30)); g.setFont(new Font(Times New Roman, Font.PLAIN, 30 + random .nextInt(20))); g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110))); g.drawString(s[2], 90 + random.nextInt(15), 40 + random.nextI

文档评论(0)

我是追梦人 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档