- 浏览: 357863 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
贝塔ZQ:
java实现操作word的读取和修改操作,用插件实现的话,可以 ...
java用poi实现对word读取和修改操作 -
yh412:
[flash=200,200][url][img]引用[/im ...
java用poi实现对word读取和修改操作 -
2047699523:
最代码 http://www.zuidaima.com 提供 ...
Java经典代码 -
漫成咖啡:
如何制作卡片型单据 -
geekant:
import com.swing.lx.table 这个包是你 ...
JTable的表头合并
使用方法就是:
先下载http://code.google.com/p/kaptcha/下载
把kaptcha-2.3.jar把文件到 WEB-INF/lib目录下
web.xml配置信息
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>kaptcha</display-name> <servlet> <servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> <!-- 设置是否有边框 --> <init-param> <param-name>kaptcha.border</param-name> <param-value>yes</param-value> </init-param> <!-- 设置边框颜色--> <init-param> <param-name>kaptcha.border.color</param-name> <param-value>105,179,90</param-value> </init-param> <!-- 获取中文 --> <init-param> <param-name>kaptcha.textproducer.impl</param-name> <param-value>org.cric.util.ChineseText</param-value> </init-param> <!-- 设置字体颜色 --> <init-param> <param-name>kaptcha.textproducer.font.color</param-name> <param-value>black</param-value> </init-param> <!-- 设置验证码宽度 --> <init-param> <param-name>kaptcha.image.width</param-name> <param-value>130</param-value> </init-param> <!-- 设置验证码高度 --> <init-param> <param-name>kaptcha.image.height</param-name> <param-value>44</param-value> </init-param> <!-- 设置字体大小 --> <init-param> <param-name>kaptcha.textproducer.font.size</param-name> <param-value>30</param-value> </init-param> <!-- 设置字体个数 --> <init-param> <param-name>kaptcha.textproducer.char.length</param-name> <param-value>4</param-value> </init-param> <!-- 设置字体样式 --> <init-param> <param-name>kaptcha.textproducer.font.names</param-name> <param-value>宋体,楷体,微软雅黑</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/kaptcha.jpg</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
这个插件自带了个中文生成类,但是这个类做得很死,中文是手动输入进去的,我的天,太死了,然后leo就找啊找,发现API中有一个自定义接口,哈哈,太好了,正好我之前有一个生成中文的程序,直接COPY过来,写了个简单的类,测试,成功了,就是上面发的图。接口是这个
package org.cric.util; import java.util.Random; import com.google.code.kaptcha.text.TextProducer; import com.google.code.kaptcha.util.Configurable; /** * 随机产生字符,包括汉字 length 表示 长度 * @author qcy * */ public class ChineseText extends Configurable implements TextProducer{ public String getText() { int length = getConfig().getTextProducerCharLength(); //int length = 4; String finalWord="",firstWord=""; int tempInt=0; String[] array={ "0","1","2","3", "4","5","6","7", "8","9","a","b", "c","d","e","f"}; Random rand = new Random(); for(int i=0;i<length;i++){ switch(rand.nextInt(3)){ case 1: tempInt=rand.nextInt(26)+65; firstWord=String.valueOf((char)tempInt); break; case 2: int r1,r2,r3,r4; String strH,strL;// high&low r1=rand.nextInt(3)+11; // 前闭后开[11,14) if(r1==13){ r2=rand.nextInt(7); }else{ r2=rand.nextInt(16); } r3=rand.nextInt(6)+10; if(r3==10){ r4=rand.nextInt(15)+1; }else if(r3==15){ r4=rand.nextInt(15); }else{ r4=rand.nextInt(16); } strH=array[r1]+array[r2]; strL=array[r3]+array[r4]; byte[] bytes=new byte[2]; bytes[0]=(byte)(Integer.parseInt(strH,16)); bytes[1]=(byte)(Integer.parseInt(strL,16)); firstWord=new String(bytes); break; default: tempInt=rand.nextInt(10)+48; firstWord=String.valueOf((char)tempInt); break; } finalWord+=firstWord; } return finalWord; } public static void main(String[] args) { // TODO Auto-generated method stub ChineseText ct = new ChineseText(); System.out.print(ct.getText()); } }
Java中获取真实的验证码:
String kaptchaExpected = (String)request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
前台页面:
<img src="kaptcha.jpg" />
- kaptcha-2.3.zip (1.3 MB)
- 下载次数: 45
发表评论
-
java用poi实现对word读取和修改操作
2012-11-17 14:19 24726java编程要实现对word的操作没有vb那种编程语言来 ... -
Java中压缩与解压--中文文件名乱码解决办法
2012-11-17 14:14 1052java对於文字的编码是以 unicode为基础,因此, ... -
三种JDBC批量插入编程方法的比较
2012-09-24 20:28 1020JDBC批量插入主要用于数据导入和日志记录因为日志一般都 ... -
JXL方式读取Excel
2012-09-04 22:23 3583/* * Classname: * ... -
根据身份证号生成出生日期
2012-09-04 09:28 1224/** * @创建时间:2007-5-10 下午04 ... -
JDBC读取数据库图片
2012-08-31 11:48 2065/** * 更新BLOB字段 * ... -
Java经典代码
2012-08-31 11:16 7908package com.common.file; ... -
JAVA换行符
2012-07-20 17:03 1353回车用:String.valueOf((char) 0x0D) ... -
Java读取超大文本文件
2012-07-17 16:51 1041File file = new File(filepat ... -
JAVA打开Excel文件
2012-07-16 11:41 1476import java.io.IOException; ... -
JSplitPane详解
2012-07-06 10:43 1378java.lang.Object --java ... -
Java中JTable的用法
2012-06-12 09:54 1980import java.awt.Dimension; ... -
JTable的表头合并
2012-06-11 17:48 3413JTableHeader的单个表头最复杂的操作也就是Rende ... -
NC参照表接口类
2011-09-05 15:23 2043package nc.ui.bd.ref; /** ... -
深入Java核心 Java内存分配原理精讲
2011-06-25 15:46 996String 常量池问题的几个例子 下面是几个常见例子 ... -
集合遍历的学习
2011-06-08 09:55 883import java.util.ArrayList; ... -
JAVA异常 EXCEPTION_ACCESS_VIOLATION (0xc0000005)
2011-05-15 18:44 4282## An unexpected error has b ... -
递归实现
2011-05-15 14:27 1085递归的思想:方法自己调用自己(A方法自己调用A方法),但是必须 ... -
Java获取当前日期的前一个月,前一天时间
2011-05-11 17:03 2994//Java获取当前日期的前一个月,前一天时间 Cal ... -
Swing 部分监听事件
2011-04-07 22:30 921http://www.java2s.com/CN/Tutori ...
相关推荐
谷歌的验证码生成工具包,下载解压,使用命令mvn install:install-file -Dfile=(你的路径)/kaptcha-2.3.2.jar -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar安装到...
本文将深入探讨kaptcha-2.3.2.jar的核心功能、使用方法以及如何通过配置参数来定制验证码的显示效果。 一、kaptcha概述 kaptcha是基于Java的验证码生成库,由谷歌开发并维护。它的主要目标是生成高质量且难以被...
自用可行的验证码生成框架,下载好后解压进入到kaptcha-2.3.2/kaptcha-2.3.2,使用mvn install:install-file -Dfile=./kaptcha-2.3.2.jar -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3.2 ...
这个库的版本`kaptcha-2.3.jar`提供了方便的API,使得开发者能够轻松地在项目中集成验证码功能。 `kaptcha`库的核心功能包括: 1. **多种验证码样式**:`kaptcha`支持生成各种不同风格的验证码,包括扭曲文字、...
《kaptcha-2.3.2 验证码技术详解及应用》 验证码(CAPTCHA)作为一种防止自动化程序滥用服务的技术,在网络安全领域扮演着至关重要的角色。kaptcha是一款开源的Java验证码生成库,专为Web应用程序设计,可以生成...
【kaptcha-2.3.2-google验证码插件】是一个基于Java开发的验证码生成插件,主要用于网站的安全验证,防止恶意自动程序(如机器人)进行非法操作,如批量注册、频繁提交表单等。该插件是Google开发的,因此在安全性和...
【谷歌验证码使用工具——kaptcha-2.3.2】是一款基于Java的开源验证码生成库,主要用于网站的身份验证,防止自动化的机器人或者恶意攻击者进行非法操作。kaptcha这个名字是"CAPTCHA"(Completely Automated Public ...
验证码jar包: kaptcha-2.3.2.jar
这个jar包,即google-kaptcha-2.3.2.jar,包含了实现这一功能所需的所有核心类和资源。 验证码的主要作用是确保用户是真实的人而不是自动化的软件,因为人类可以轻易地阅读和输入图像中的文字,而机器则通常难以...
<artifactId>kaptcha-spring-boot-starter 最新版本号 ``` 请确保替换为当前的最新版本号。 2. 配置Kaptcha:在`application.properties`或`application.yml`中配置Kaptcha的相关参数,例如验证码长度、字体样式...
《kaptcha-2.3.2.jar:验证码生成工具详解》 在网络安全领域,验证码(CAPTCHA)是一种广泛使用的安全机制,它能有效防止自动化的机器人程序进行恶意操作,如批量注册、垃圾评论等。kaptcha是Java开发中常用的一个...
总的来说,`kaptcha-2.3.2` 是一个强大且易用的验证码生成工具,能够帮助开发者轻松实现安全的用户验证机制。通过阅读提供的示例和教程,开发者可以快速地将`kaptcha`整合进自己的Java Web项目中,提升网站的安全性...
1. **引入依赖**:将`kaptcha-2.3.2.jar`添加到项目的类路径中,或者在Maven或Gradle项目中配置相应的依赖。 2. **配置`web.xml`**:在`<web-app>`标签内添加`KaptchaServlet`的servlet配置,指定生成的验证码图片...
在本文中,我们将深入探讨如何将Kaptcha与Spring Boot整合以实现图形验证码的功能。Kaptcha是一个开源项目,用于生成各种类型的验证码,以防止自动化程序(如机器人)进行恶意操作。而Spring Boot是Java开发中的一个...
《kaptcha-2.3.zip:验证码生成与验证的关键技术》 kaptcha-2.3.zip 是一个包含kaptcha库的压缩包,主要用于生成复杂的验证码图像,以防止自动化程序(如机器人)对网站进行非法操作,如批量注册、恶意投票等。这个...
kaptcha是Java平台上的一个开源验证码生成库,它能够帮助开发者轻松地在应用程序中集成自定义的验证码功能。kaptcha 2.3.2.jar 是这个库的一个特定版本,提供了丰富的配置选项和高质量的图片验证码生成能力。 ...