声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
验证码介绍
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。卡内基梅隆大学曾试图申请此词使其成为注册商标, 但该申请于2008年4月21日被拒绝。一种常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字,也就是图文验证码,扭曲变形是为了避免被光学字符识别(OCR, Optical Character Recognition)之类的电脑程序自动辨识出图片上的文数字而失去效果。由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。
为了无法看到图像的身心障碍者,替代的方法是改用语音读出文数字,为了防止语音辨识分析声音,声音的内容会有杂音,这种就是手机语音验证码,通过拨打手机的方式告诉用户验证码是什么。
目前常见的验证码类型:
1.静态图文验证码
2.手机短信验证码
3.Email验证码
4.拼图验证码
5.手机语音验证码
6.GIF动态图片验证码
7.视频验证码
图文验证码
可以说最早出现的验证码就是图文验证码,也是最为常见的验证码形式。如图:
验证码是从服务端生成后发送到客户端的,验证码绝非是套用现成的图片,而是在服务端内存中临时生成的,而且通常生成并发送给客户端之后就会删除,除此之外验证码都是有一个有效时间的一般为60秒到360秒,这些都是为了保证安全性。
在Java中的java.awt包下有与绘画相关的类,利用这些工具类,可以生成简单的图文验证码。
下面使用实际代码演示一下如何生成一个简单的图文验证码:
运行结果:
把验证码应用在登录验证中:
Html代码示例:
验证码Servlet:
处理登录业务的Servlet:
运行结果:
控制台打印结果:
相关推荐
本程序共提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色验证码,如图1.1所示。第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,...
图文 验证码模块
使用JSP开发的动态WEB源代码,比较经典
提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色验证码
一个简单的图文验证码。。用jsp实现的,希望能帮到大家!!
图文验证码模块设计与实现 jsp 源码 教程
图形验证码 java 动态获取图形验证码 图形验证码 java 动态获取图形验证码图形验证码 java 动态获取图形验证码
本程序共提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色验证码,如图1.1所示。第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,...
java web 图文验证程序图文验证程序图文验证程序
JAVA图文教程JAVA 图文 教程 PPT PDF JAVA图文教程 有简单的代码
可运行示例,java使用图文混排控件ckeditor
一个从书里带的光盘上拷下来的图文验证码的案例 据说可以直接应用于项目上
图文验证码(Ajax异步校验)-源码出自明日科技
java图片验证模块源码 java验证码 图文验证码 Java模块 有详细说明
主要介绍了Java编程调用微信接口实现图文信息等推送功能,涉及java微信图文信息推送接口调用及相关文件、字符串编码转换相关操作技巧,需要的朋友可以参考下
java代码,邮件发送案例,可以添加图文、可以添加附件!