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

使用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就可以了啊。。。

相关推荐

    java验证码生成验证

    csdn上三种java验证码生成方法,以及谷歌开源验证码,总共四...3. 汉字验证码,噪点,未加扭曲(未使用字符集,随机生成汉字) 4. 谷歌开源验证码 只对第一种方法写了验证,后三种方法只有验证图片生成,验证方法同一。

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

    主要介绍了使用google.kaptcha来生成图片验证码的实现方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

    php生成图片验证码-附五种验证码

    主要给大家讲解php生成图片验证码,包括数字验证码、数字和字母验证码、中文验证码、仿google验证码、算术验证码,实现此功能主要通过GD库,生成一张带有验证码的图片,并把验证码存在session中,本文讲解的比较全面...

    java8源码-GoogleAuth_Android:仿谷歌身份验证器

    可以随机生成,但后台和APP要对一个相同秘钥生成验证码。 2保存好秘钥很关键,即使无网,知道秘钥也能生成验证码。 如果手机丢失,怎么处理?答:知道秘钥就行,重新下载个Google Authenticator APP ,输入记住的...

    基于CNN的图像验证码识别.zip

    利用GM-HMM对验证码进行分割,通过CNN(类VGG模型)训练识别,其中对单个字符的识别准确率为98.20%,对整个验证码识别的准确率为82% 卷积神经网络(Convolutional Neural Network, CNN)是一种专门针对图像、视频等...

    ASP.NET开发实战1200例(第Ⅰ卷)第二十章

    实例518 在随机选中的图片上绘制混合验证码 777 实例519 智能语音提示验证码 779 实例520 简单的四则(加、减、乘和除)运算 验证码 781 实例521 利用Web Service服务生成验证码 783 实例522 应用LINQ提取数据库中的...

    基于CNN的图像验证码识别,单个验证码识别成功率99%.zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    基于CNN,keras的验证码识别项目.zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    基于CNN的数字字母验证码识别训练项目pytorch版.zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    基于CNN的固定长度固定字符类型的验证码识别.zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    基于CNN神经网络实现的正方教务系统的验证码识别.zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    ASP.NET3.5典型模块开发源代码

    10.3.2 创建生成随机图片的方法 124 10.3.3 实现验证功能 126 10.4 小结 127 第11章 缩略图水印模块 128 11.1 缩略图加水印的原理 128 11.2 自定义带版权水印的缩略图 129 11.2.1 生成缩略图功能 129 ...

    Pytorch下基于CNN识别网络用于识别4位数以上的验证码(包括大小写,数字).zip

    综上所述,卷积神经网络通过其独特的局部感知、权重共享、多层级抽象等特性,高效地从图像数据中提取特征并进行学习,已成为解决图像和视频处理任务不可或缺的工具,并在众多实际应用中取得了卓越的效果。

    PHP实现STEAM动态令牌验证码-易语言

    实际使用的可以直接以JSON形式调出。在手机APP或者公众号网页上调用即可 另外我没有写加密 你可以设置每多少秒生成一组,并且可以设置长度。如下图 算法是GOOGLE动态令牌的HASH算法。 固定的KEY可以根据用户ID或者...

    java实现验证码功能源码-Real-Time-Taxi-Dispatch-Simulator:出租车调度模拟器:check_mark_button:

    (对于机密问题,使用和展示的数据是随机生成的假数据,但完全不影响项目的慷慨) 1 简介 基本上,Web 应用程序完成调度模拟、订单生成、驾驶员监控、轨迹跟踪、仪表板展示等。 对于技术栈,我用Java、Spring Boot/...

    JAVA上百实例源码以及开源项目源代码

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件 4个...

    JAVA上百实例源码以及开源项目

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件 4个...

    AiRoboForm.rar

    默认情况下,该功能可能没显示,在RoboForm工具栏点击右键,选择“自定义工具栏”,将“安全标注(保密记事本)”添加到右边即可,于是就可以创建新记事本了,   AI RoboForm 三、其他功能   1、搜索功能   在...

    《程序天下:JavaScript实例自学手册》光盘源码

    16.17 JavaScript生成验证码(二) 第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS制作的进度条(二) 17.5 进度条形式的下载效果 ...

Global site tag (gtag.js) - Google Analytics