今天无意间发现了一个很好用的验证码插件,java版的,很不错的一个插件,只用简单的在web.xml中设置几个属性,一个很漂亮的验证码就出来了。其他的参数都可以自己设置,最牛的就是提供了接口,可以自己定义哦。
先发个图来看看:
怎么样,还不错吧,这个图是我设置长宽后生成的,有点点大,不过没关系,这个可以自己设置的。
多大概设置了边框,字体,个数,字的大小,长,宽,中文接口等这几个属性,然后很简单的就生成了这样一个验证码,呵呵,不错,很简单。
看看配置:
<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>com.randcode.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>500</param-value>
</init-param>
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>300</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>90</param-value>
</init-param>
<init-param>
<param-name>kaptcha.session.key</param-name>
<param-value>code</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>
呵呵,还简洁吧。这个插件自带了个中文生成类,但是这个类做得很死,中文是手动输入进去的,我的天,太死了,然后leo就找啊找,发现API中有一个自定义接口,哈哈,太好了,正好我之前有一个生成中文的程序,直接COPY过来,写了个简单的类,测试,成功了,就是上面发的图。接口是这个:
<init-param>
<param-name>kaptcha.textproducer.impl</param-name>
<param-value>com.randcode.ChineseText</param-value>
</init-param>
如果有朋友不知道怎么用的,可以联系我。
生成中文的代码:
package com.randcode;
import java.util.Random;
import com.google.code.kaptcha.text.TextProducer;
import com.google.code.kaptcha.util.Configurable;
public class ChineseText extends Configurable implements TextProducer{
public String getText() {
int length = getConfig().getTextProducerCharLength();
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;
}
}
分享到:
相关推荐
【kaptcha-2.3.2-google验证码插件】是一个基于Java开发的验证码生成插件,主要用于网站的安全验证,防止恶意自动程序(如机器人)进行非法操作,如批量注册、频繁提交表单等。该插件是Google开发的,因此在安全性和...
在这个Controller中,`/captcha`接口用于生成验证码并将其发送到客户端,而`/validate`接口则接收客户端提交的验证码进行验证。在生成验证码时,我们将验证码文本保存在HttpSession中,以便后续验证。 为了在实际...
`Kaptcha`是一个开源Java库,专为生成验证码图像而设计,具有高度可配置性,可以轻松集成到Web应用中。 首先,我们需要了解`Kaptcha`插件的基本用法。在Java项目中,你可以通过Maven或Gradle添加`kaptcha`依赖。...
3. 高效生成:Kaptcha生成验证码的速度快,且内存占用小,适合高并发场景。 4. 默认实现:Kaptcha提供了默认的验证码生成器,无需额外的依赖,即可生成基本的验证码图像。 在实际使用中,这两个组件都可以通过Maven...
总的来说,kaptcha作为一款优秀的Java验证码插件,以其简单的集成方式和高度可定制性,使得开发者能轻松地在项目中实现安全的验证码功能。无论是小型个人项目还是大型企业系统,kaptcha都能成为可靠的验证码解决方案...
kaptcha生成验证码的作用:进行人机校验--防止机器脚本自动大量注册用户。 1、Kaptcha是谷歌开源的可高度配置的实用验证码生成工具。 2、过Kaptcha可阻拦大多数机器人脚本操作。 3、kaptcha典型殷用于注册、登录、...
在本案例中,我们使用了 Kaptcha 插件来生成验证码。Kaptcha 是一个 Java 实现的验证码生成器,它可以生成包含字母和数字的复杂图片,并具有可配置的样式和扭曲程度,从而增加破解的难度。 首先,我们需要在项目中...
《Kaptcha:Google开发的验证码插件解析》 在网络安全领域,验证码(CAPTCHA)扮演着至关重要的角色,它能够有效防止自动化的机器人程序进行恶意操作,如垃圾邮件的发送、账户的非法注册等。在Java开发环境中,...
编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成Kaptcha验证码生成器快速入门Demo,演示Kaptcha验证码生成器后端代码和前端测试页面
这个Servlet主要用于生成验证码图片。 - `<init-param>`标签用于配置Servlet的初始化参数: - `kaptcha.image.width`:设置验证码图片的宽度为85像素。 - `kaptcha.image.height`:设置验证码图片的高度为40像素...
一.开发环境 IDE: Eclipse 4.7.2 ...验证码库: kaptcha 三.前端技术 JS框架:Jquery CSS框架:bootstrap 多级列表树插件:zTree 富文本编辑器:wangEditor 三.前后端交互 主要使用AJAX传输数据!
图形验证码的生成则可以通过`kaptcha`库来实现,这在用户登录验证等场景中非常常见。 此外,文件中还提到了其他一些依赖,可能包括但不限于日志记录、安全控制、邮件发送等功能的组件。每个依赖都有其特定的版本号...
16. **Kaptcha**:Kaptcha是一个生成验证码的库,Spring Boot starter-kaptcha则用于在Spring Boot应用中集成验证码功能。 17. **Ehcache3**:Ehcache 3是流行的Java缓存库,Spring Boot starter-ehcache3提供了对...
5.2 验证码:可以使用第三方库如Kaptcha生成验证码,将其结果存入session,并在登录页面显示,验证时比对输入的验证码是否正确。 六、SQL脚本与数据初始化 6.1 `authority.sql`:这个文件可能包含了权限相关的...
3、**验证码(Kaptcha)**:RuoYi中的验证码实现采用Kaptcha库,配置类CaptchaConfig中可定制验证码生成器KaptchaTextCreator。 4、**登录(JWT)**:RuoYi使用JWT(JSON Web Tokens)进行身份验证,提供安全的无状态...
8. **kaptcha 0.0.9**:生成图片验证码的库。 9. **quartz-all 1.6.0** 和 **zookeeper 3.4.5**:用于定时任务调度和分布式调度。 10. **Libzkclient 0.3** 和 **Kafkaclient 0.9.0.1**:Kafka客户端,实现消息...