- 浏览: 305579 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
di1984HIT:
不错,不错。
Jquery.LazyLoad.js插件修正版下载,实现图片延迟加载特效 -
fncj:
好东西,
freemarker常用技巧 -
xwy55555:
说得很清楚
大型网站框架的演变 -
gxz1989611:
这个东西好,我转载了~~
40 个轻量级 JavaScript 库 -
gxz1989611:
恩,这个标题真是考虑到了SEO啊!!!
这才是真正的JQuery.ajax传递中文参数的解决方法
Kaptcha使用
- 博客分类:
- JAVA/J2EE
但是许多时候因为产品啊,领导啊等等什么的需求就出来了,怎么去让它适应需求?
1.kaptcha可配置项:
- kaptcha.border 是否有边框 默认为 true 我们可以自己设置yes,no
- kaptcha.border.color 边框颜色 默认为Color.BLACK
- kaptcha.border.thickness 边框粗细度 默认为1
- kaptcha.producer.impl 验证码生成器 默认为DefaultKaptcha
- kaptcha.textproducer.impl 验证码文本生成器 默认为DefaultTextCreator
- kaptcha.textproducer.char .string 验证码文本字符内容范围 默认为abcde2345678gfynmnpwx
- kaptcha.textproducer.char .length 验证码文本字符长度 默认为 5
- kaptcha.textproducer.font.names 验证码文本字体样式 默认为new Font( "Arial" , 1 , fontSize), new Font( "Courier" , 1 , fontSize)
- kaptcha.textproducer.font.size 验证码文本字符大小 默认为40
- kaptcha.textproducer.font.color 验证码文本字符颜色 默认为Color.BLACK
- kaptcha.textproducer.char .space 验证码文本字符间距 默认为 2
- kaptcha.noise.impl 验证码噪点生成对象 默认为DefaultNoise
- kaptcha.noise.color 验证码噪点颜色 默认为Color.BLACK
- kaptcha.obscurificator.impl 验证码样式引擎 默认为WaterRipple
- kaptcha.word.impl 验证码文本字符渲染 默认为DefaultWordRenderer
- kaptcha.background.impl 验证码背景生成器 默认为DefaultBackground
- kaptcha.background.clear.from 验证码背景颜色渐进 默认为Color.LIGHT_GRAY
- kaptcha.background.clear.to 验证码背景颜色渐进 默认为Color.WHITE
- kaptcha.image.width 验证码图片宽度 默认为200
- kaptcha.image.height 验证码图片高度 默认为50
2.kaptcha提供了很好的可扩展性,而且扩展的方式也很简单,只需要实现相关接口,然后把我们自定义的对象添加到配置项里面就可以了,如
Producer,WordRenderer,GimpyEngine,BackgroundProducer,NoiseProducer,TextProducer
这些接口,我们可以随意的扩展。
3.关于对生成的验证码进行加噪点,一些干扰因素,kaptcha也提供了许多现成的filter供选择,它自己默认的干扰因素生成类
WaterRipple就是由RippleFilter,WaterFilter两个filter组成的,这些filter实现了各种对文本样式变化处
理,位于com.jhlabs.image package下。
自己实现一个WordRenderer
- public class ZHWordRenderer extends Configurable implements WordRenderer{
- public ZHWordRenderer()
- {
- }
- public BufferedImage renderWord(String word, int width, int height)
- {
- int fontSize = getConfig().getTextProducerFontSize();
- // 这个地方我们自定义了验证码文本字符样式,虽然是可以配置的,但是字体展示都粗体,我们希望不是粗体就只有自定义这个渲染类了
- String paramName = "kaptcha.textproducer.font.names" ;
- String paramValue = (String)getConfig().getProperties().get(paramName);
- String fontNames[] = paramValue.split("," );
- Font fonts[] = new Font[fontNames.length];
- for ( int i = 0 ; i < fontNames.length; i++){
- fonts[i] = new Font(fontNames[i], Font.ITALIC, fontSize);
- }
- java.awt.Color color = getConfig().getTextProducerFontColor();
- int charSpace = getConfig().getTextProducerCharSpace();
- BufferedImage image = new BufferedImage(width, height, 2 );
- Graphics2D g2D = image.createGraphics();
- g2D.setColor(color);
- RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- hints.add(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
- g2D.setRenderingHints(hints);
- java.awt.font.FontRenderContext frc = g2D.getFontRenderContext();
- Random random = new Random();
- int startPosY = (height - fontSize) / 5 + fontSize;
- char wordChars[] = word.toCharArray();
- Font chosenFonts[] = new Font[wordChars.length];
- int charWidths[] = new int [wordChars.length];
- int widthNeeded = 0 ;
- for ( int i = 0 ; i < wordChars.length; i++)
- {
- chosenFonts[i] = fonts[random.nextInt(fonts.length)];
- char charToDraw[] = {
- wordChars[i]
- };
- GlyphVector gv = chosenFonts[i].createGlyphVector(frc, charToDraw);
- charWidths[i] = (int )gv.getVisualBounds().getWidth();
- if (i > 0 )
- widthNeeded += 2 ;
- widthNeeded += charWidths[i];
- }
- int startPosX = (width - widthNeeded) / 2 ;
- for ( int i = 0 ; i < wordChars.length; i++)
- {
- g2D.setFont(chosenFonts[i]);
- char charToDraw[] = {
- wordChars[i]
- };
- g2D.drawChars(charToDraw, 0 , charToDraw.length, startPosX, startPosY);
- startPosX = startPosX + charWidths[i] + charSpace;
- }
- return image;
- }
-
}
发表评论
-
kaptcha 验证码在spring mvc 中的使用
2012-07-04 10:11 2056... -
Java编程中“为了性能”尽量要做到的一些地方
2012-05-29 16:09 954下面是参考网络资源总结的一些在Java编程中尽可能要做到的 ... -
freemarker常用技巧
2012-05-03 10:21 310681. freemarker 简介 ... -
Spring邮件发送(可带附件,模板,群发,异步发送等功能)
2011-09-20 16:19 2353... -
Quartz
2011-09-14 16:35 1452博客 ... -
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的
2011-06-08 16:08 3384在eclipse中启动tomcat时 ... -
Maven常用插件使用说明之deploy
2011-06-02 23:37 5307Maven的deploy插件用于把Maven自动构 ... -
Hudson+Maven+SVN 快速搭建持续集成环境
2011-06-01 10:35 1671hudson 是一个可扩展的持 ... -
struts2 中使用 chain Result 时 actionMessage 和 actionError 未复制的原因
2011-05-24 22:43 2155在网上查询N久,未解决。 一说必须使用 chain Res ... -
Quartz时间规则
2011-03-07 16:26 1948* * * * * ... -
Spring Quartz 任务调度
2011-03-07 16:07 1471关 ... -
可以设置你提交代码是必须写注释,可以规定长度至少为多少
2010-12-23 13:58 3762不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不 ... -
Tomcat UTF-8 乱码问题解决办法
2010-12-20 16:13 2200关于java的乱码,一直是双字节字符环境开发者的问题,不同 ... -
eclipse中将java项目转换为web项目
2010-11-19 16:03 28191、进入项目目录,找到.project文件,打开。 2、 ... -
poi 新手教程
2010-10-28 15:10 1244poi 新手教程 Jakarta_POI 使用Ja ... -
Subversion Windows迁移到Linux服务器的步骤
2010-06-01 09:59 1442首先在Windows上,使用svnadmin dump res ... -
JAVA读写Properties文件
2009-04-30 21:05 3342JAVA读写Properties文件 ... -
Tomcat out of memory解决
2009-03-01 23:09 6842Tomcat 默认可以使用的内存为 128MB ,在较大型 ... -
Tomcat加入到系统服务中
2009-01-20 09:55 1473命令行使用sc命令.关于sc命令的详解,请自 ... -
web.xml的配置顺序
2008-12-30 14:31 1024filter,filter-mapping,listener, ...
相关推荐
赠送jar包:kaptcha-2.3.2.jar; 赠送原API文档:kaptcha-2.3.2-javadoc.jar; 赠送源代码:kaptcha-2.3.2-sources.jar; 赠送Maven依赖信息文件:kaptcha-2.3.2.pom; 包含翻译后的API文档:kaptcha-2.3.2-javadoc-...
主要介绍了java验证码组件kaptcha使用方法,很不错的一个组件,可以在JAVA开发中使用,大家都试试吧
使用Kaptcha生成随机码的一个demo
kaptcha验证码使用
谷歌验证码使用工具——kaptcha-2.3.2的使用非常简单;
kaptcha验证码在使用上比其它的都方便,配置也相对简单,建议将本实例中的源码导入到Eclipse运行。其中主要有几处配置,一是在Web.xml文件里增加相应的配置,后是在Action里做相关的生成及校验工作。前台采用不刷新...
google kaptcha-2.3.2.jar验证码的jar包,google把生成验证码的操作基本的封装好了,使用起来很方便。
kaptcha-2.3.2.jar,由于google 访问不了;特此下载下来共同学们使用。
自用可行的验证码生成框架,下载好后解压进入到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 ...
Java使用kaptcha实现验证码功能必备jar包,使用简单,web.xml中配置即用。 Java使用kaptcha实现验证码功能必备jar包,使用简单,web.xml中配置即用。
实现Google的Kaptcha验证码所需要的jar包和可以参考的源码包,使用的是导入jar包,需要看源码的时候参考source包
验证码在很多地方都会使用到,本分享是自己在做验证码功能的时候总结的一些经验,是基于谷歌kaptcha来做的,验证码的效果是,可以自定义字符范围,可以自定义背景效果,自定义字体等。总之,根据参数,都可以实现...
谷歌的验证码生成工具包,下载解压,使用命令mvn install:install-file -Dfile=(你的路径)/kaptcha-2.3.2.jar -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar安装到...
JavaWeb开发可以拿来看看,了解一下谷歌验证码的使用
kaptcha的使用比较方便,只需添加jar包依赖之后简单地配置就可以使用了 kaptcha所有配置都可以通过web.xml来完成 使用kaptcha生成图片验证码 生成图片验证码必须要引用到的包,下载后引入项目即可 依赖的jar包 ...
自己实现用idea实现了下google的kaptcha验证码,挺好用的,使用简单方便,希望能够帮助到大家
NULL 博文链接:https://royal2xiaose.iteye.com/blog/1601208
Google验证码插件jar包,直接解压存入本地仓库即可使用
用来生成验证码的工具类,已有完整的demo,按照样例来使用即可~
前端验证码,使用非常广泛,此验证码提供给大家希望能有所帮助