`
l4432848
  • 浏览: 255877 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Java制作图文验证码

    博客分类:
  • java
阅读更多

声明:本栏目所使用的素材都是凯哥学堂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.视频验证码

图文验证码

可以说最早出现的验证码就是图文验证码,也是最为常见的验证码形式。如图:

image

验证码是从服务端生成后发送到客户端的,验证码绝非是套用现成的图片,而是在服务端内存中临时生成的,而且通常生成并发送给客户端之后就会删除,除此之外验证码都是有一个有效时间的一般为60秒到360秒,这些都是为了保证安全性。
在Java中的java.awt包下有与绘画相关的类,利用这些工具类,可以生成简单的图文验证码。
下面使用实际代码演示一下如何生成一个简单的图文验证码:

image

image

运行结果:

image

把验证码应用在登录验证中:
Html代码示例:

image

验证码Servlet:

image

image

处理登录业务的Servlet:

image

image

运行结果:

image

控制台打印结果:

image

0
0
分享到:
评论

相关推荐

    图文验证码_源码

    - 生成图片:可以使用Java的`java.awt`和`javax.imageio`包创建和绘制图片,包括背景色、线条、噪点、扭曲的字符等。 - 将字符序列转化为图像上的像素,可以使用`java.awt.font`处理字体和排版。 - 将生成的...

    图文验证码模块(含说明文档)

    本项目名为"图文验证码模块(含说明文档)",包含了实现图文验证码的多种方法,特别提到了第一种方法是采用英文、数字和中文的混合,并且使用了彩色验证码,增强了其防破解能力。 首先,我们来详细了解第一种图文...

    图文验证码

    在Java中实现验证码的技术多种多样,包括但不限于文本验证码、数字验证码以及本文主题——图文验证码。图文验证码通常包含随机生成的图像和对应的字符,图像中的字符可能是扭曲、旋转、模糊或叠加在其他图形之上,以...

    java 图文验证码

    本程序共提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色验证码,如图1.1所示。第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,...

    图文验证码模块

    图文 验证码模块

    图文验证码模块设计与实现

    本文将详细讲解一个基于JSP(Java Server Pages)技术的图文验证码模块的设计与实现。 首先,我们来理解验证码的基本原理。验证码通常由随机生成的一串字符或图像组成,用户需要正确输入才能完成特定的操作。图文...

    java web图文验证程序

    Java Web 图文验证程序是一种常见的安全机制,用于防止自动化脚本或机器人对网站进行恶意操作,如批量注册、频繁登录尝试等。这类验证通常通过在用户提交表单前展示一个包含图片的验证码,图片上显示一串随机字符或...

    图形验证码

    图形验证码 java 动态获取图形验证码 图形验证码 java 动态获取图形验证码图形验证码 java 动态获取图形验证码

    JAVAWEB图文验证码模块源代码

    本程序共提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色验证码,如图1.1所示。第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,...

    图文识别_java图文识别_java文字识别_

    本篇将深入探讨Java在图文识别和文字识别方面的应用。 首先,我们要了解什么是OCR技术。OCR是一种将图像中的打印或手写字符转换为机器编码文本的技术。这项技术广泛应用于文档扫描、票据处理、自动翻译等领域,极大...

    图文验证码(Ajax异步校验)-源码出自明日科技

    【图文验证码(Ajax异步校验)】是一种常见的网络安全机制,用于防止自动化程序(如机器人)非法操作网站,如注册、登录或提交表单。在本项目中,明日科技提供了完整的源码实现,旨在帮助开发者理解和应用此类验证码...

    JAVA图文教程 有简单的代码

    JAVA图文教程JAVA 图文 教程 PPT PDF JAVA图文教程 有简单的代码

    图文验证码案例(从书里带的光盘上拷下来的)

    一个从书里带的光盘上拷下来的图文验证码的案例 据说可以直接应用于项目上

    c# winform 验证码

    验证码的生成使用随机数生成五位数字验证码,然后使用 Graphics 画笔绘制验证码图片。在验证码的绘制过程中,我们还使用了不同的颜色来使验证码更加难以识别。 在 Form1_Load 事件中,我们使用 Random 对象生成一个...

    java使用图文混排控件ckeditor

    Java 使用 CKEditor 实现图文混排控件 CKEditor 是一款功能强大的富文本编辑器,广泛应用于网页和桌面应用程序中,用于创建和编辑带有图片、链接、格式化文本等内容的富文本。在 Java 应用程序中,我们可以利用 ...

    Java编程调用微信接口实现图文信息推送功能

    主要介绍了Java编程调用微信接口实现图文信息等推送功能,涉及java微信图文信息推送接口调用及相关文件、字符串编码转换相关操作技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics