`
suhuanzheng7784877
  • 浏览: 698478 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47588
社区版块
存档分类
最新评论

使用Google工具生成随机验证码

阅读更多

很多网站都有验证码认证的功能。生成随机数,需要用户自己填写,之后进行认证。这是为了防止非法使用者利用工具工具网站。

以前有人自己写个工具类将生成的数字输出成byte[]类型,之后再输出到前台页面。

这几天看到了Google Code有个开源项目kaptcha,用来生成随机验证码。十分好用。分享给大家

首先从google下载组件(http://code.google.com/p/kaptcha/downloads/detail?name=kaptcha-2.3.2.zip

解压缩后将kaptcha-X.jar包加入到自己项目的classpath中。

 

初始化该类代码如下

static DefaultKaptcha defaultKaptcha = new DefaultKaptcha();

static {
    defaultKaptcha.setConfig(new Config(new Properties()));
}

 加载默认配置

使用如下

BufferedImage bufferedImage = defaultKaptcha.createImage(随机数);

ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
    ImageIO.write(bufferedImage, "jpg", out);
} catch (IOException e) {
    e.printStackTrace();
}
File file = new File("c:/1.jpg");
try {
    FileOutputStream fileOut = new FileOutputStream(file);
    fileOut.write(out.toByteArray());
} catch (FileNotFoundException e) {

} catch (IOException e) {

}

 

 运行后生成文件如下

 

byte[]输出到页面核心代码如下

<%
response.reset();
response.setContentType("image/jpeg ");

//不缓存
response.addHeader("pragma", "NO-cache");
response.addHeader("Cache-Control", "no-cache");

bytesum += byteread;
response.getOutputStream().write(buffer, 0, byteread);
		
response.getOutputStream().flush();
out.clear();
out = pageContext.pushBody();

//response.getOutputStream().close();
System.out.println("调用输出图片流");

%>

 

  • 大小: 3.5 KB
15
4
分享到:
评论
5 楼 liu400liu 2011-06-22  
谢谢分享!
4 楼 qinglintan 2011-06-14  
博主很RY
3 楼 suhuanzheng7784877 2011-06-13  
我先自己检讨一下啊~~~~各位朋友,此Blog的title有点问题。应该是《使用Google Code小项目生成随机验证码》。因为这个文章是为我那个Maven的Blog笔记的一个子模块服务的,没实际应用意义。正规项目也不这么用。
而且输出页面jsp的那个片段有问题~~~~因为不能把公司的项目全部代码粘过来,怕客户那边追则。网上输出byte[]到页面前端有很多代码例子,在此就不写出了~~~~
请大家见谅。。。。
2 楼 suhuanzheng7784877 2011-06-13  
hongmin118 写道
不用这么麻烦的,直接在web.xml里配个servlet就可以了啊。。。

呵呵呵~~~~~这个是为我那个Maven的Blog笔记的一个子模块服务的,没实际应用意义。正规项目也不这么用。
1 楼 hongmin118 2011-06-13  
不用这么麻烦的,直接在web.xml里配个servlet就可以了啊。。。

相关推荐

    用asp.net生成随机验证码

    以下是使用ASP.NET生成随机验证码的步骤: **步骤1:创建验证码类** 首先,创建一个自定义类,用于生成和处理验证码。这个类可以包含以下方法: - `GenerateCode`:生成随机验证码字符串。 - `DrawImage`:将...

    PHP语言编写的随机验证码的生成

    在PHP编程中,生成随机验证码是一项常见的任务,用于防止机器人自动提交表单或者增加网站安全性。验证码(CAPTCHA)是一种全自动区分计算机和人类的图灵测试,它的主要目的是确保用户是真实的人,而不是自动化程序。...

    登陆页面随机验证码

    随机验证码是指每次请求时都会生成一个新的、不可预测的验证码,这样攻击者就无法预先获取或存储验证码来重复使用。这种机制可以有效地阻止自动脚本或恶意软件的批量尝试登录。 在登录页面上,当用户输入用户名和...

    google的Kaptcha生成验证码

    1. **验证码生成**:Kaptcha提供了一系列的算法来生成随机的字符序列,这些字符扭曲、旋转、模糊处理,以增加机器识别的难度。用户可以根据需求调整字符的字体、颜色、大小、角度等参数。 2. **图像配置**:Kaptcha...

    随机验证码图片生成

    本篇文章将详细讲解如何生成随机验证码图片,包括其原理、实现方式以及相关技术。 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,即全自动区分...

    登录时随机验证码.rar

    本示例中的“登录时随机验证码.rar”文件包含了一个简单的登录验证码实现,主要涉及到以下几个核心知识点: 1. **验证码生成**: 验证码通常由一组随机字符(包括字母、数字、特殊符号)组成,目的是让人类用户能...

    在JSP页面中产生随机验证码

    在JSP(Java Server Pages)页面中生成随机验证码是一项常见的需求,主要...以上就是在JSP页面中生成随机验证码的基本步骤和原理,通过这样的方法,我们可以有效防止自动化工具对网站的非法访问,保护用户的账号安全。

    struts2生成中文验证码的Action

    你可以使用Java的`Random`类和预先准备的汉字字符数组来生成随机的中文字符串。确保生成的字符串长度适中,一般4到6个字符。 4. **图形化验证码**: 生成的中文字符串需要转换为图像。你可以使用Java的`java.awt`和`...

    完整随机验证码实例

    生成随机验证码的过程涉及以下几个步骤: 1. **定义字符集**:首先,我们需要定义一个包含可能字符的集合,比如大小写字母、数字等。 2. **生成随机字符串**:使用编程语言提供的随机数生成函数,从字符集中随机...

    PHP生成图片验证码

    1. **生成随机字符串**:使用PHP的内置函数`rand()`或`mt_rand()`生成一个随机字符串。例如,我们可以生成一个由4个字母和数字组成的字符串,使用`str_shuffle()`打乱顺序,确保难以预测。 2. **创建图像**:使用...

    谷歌验证码使用工具——kaptcha-2.3.2

    【谷歌验证码使用工具——kaptcha-2.3.2】是一款基于Java的开源验证码生成库,主要用于网站的身份验证,防止自动化的机器人或者恶意攻击者进行非法操作。kaptcha这个名字是"CAPTCHA"(Completely Automated Public ...

    一个小的验证码图片生成程序

    验证码图片生成程序的核心原理在于创建随机且难以被机器识别的图像。下面将详细介绍验证码生成的相关知识点: 1. **随机字符生成**:验证码通常由一组随机字母、数字或特殊字符组成。程序会从预设的字符集中选取...

    使用google.kaptcha来生成图片验证码的实现方法

    使用google.kaptcha来生成图片验证码的实现方法 在本文中,我们将详细介绍如何使用google.kaptcha来生成图片验证码的实现方法。google.kaptcha是一个用于生成图片验证码的Java库,通过使用该库,可以轻松地生成图片...

    java web笔记之servlet生成验证码

    3. 生成随机验证码:使用`java.util.Random`和`java.lang.Math`类生成一组随机数字或字母,组合成验证码字符串。 4. 保存验证码:将生成的验证码保存在会话(Session)中,以便在验证时进行比较。使用`...

    4位含字母和数字随机验证码

    总结来说,4位含字母和数字的随机验证码是网络安全中的重要工具,它通过随机性、复杂性和时效性等手段,有效防止了恶意软件和自动化攻击,同时保证了用户的正常操作。对于开发者而言,理解并掌握验证码的原理和实现...

    安卓验证码相关-Android随机验证码(2).rar

    - **生成随机数字**:使用`java.util.Random`类生成4-6位的随机整数,确保数字间的唯一性和安全性。 - **显示验证码**:将生成的数字通过`TextView`展示在界面上,或者通过`Notification`发送给用户。 - **验证...

    简单验证码生成jar包

    这个jar包可能包含了生成随机验证码图像的核心逻辑,以及与服务器通信、验证用户输入的相关功能。 `readme.txt`文件通常是软件或项目的一部分,包含关于如何使用、安装、配置或者运行程序的重要信息。对于这个...

    jsp生成图片验证码

    总结来说,使用JSP生成图片验证码涉及到以下几个关键点:生成随机字符串、存储验证码、绘制并输出图片以及设置HTTP响应类型。这种方法简单易用,但要注意,对于高级的自动化攻击,可能需要更复杂的验证码解决方案,...

    语言随机生成验证码源码.rar

    一些现代验证码方案,如谷歌的reCAPTCHA,使用了人工智能来区分人类和机器人,降低了用户交互的复杂性。 7. **源码结构**:压缩包中的“源码使用说明.txt”可能会详细解释如何编译、运行和自定义这些源码,包括依赖...

    java后台生成背景透明的验证码

    java后台生成背景色透明验证码的方法,可直接调用。本方法只生成随机字符数字组成的四位验证码。

Global site tag (gtag.js) - Google Analytics