0 Star 0 Fork 0

nebula / cta4j

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#CTA4J - 简单的Java验证码框架

很早之前的代码了, 忘记什么时候写的了

[TOC]

简简简介

Captcha for Java 是一个简单的 Java 验证码框架, 主要由以下三部分组成

功能说明
org.ponly.cta4j.drawing 验证码绘制: 背景, 前景, 字体, 颜色, 滤镜
org.ponly.cta4j.factory 验证码工厂: 通过 drawing 绘制不同类型/效果的验证码
org.ponly.cta4j.service 验证码服务: 使用 factory 生成验证码, 并提供完整的验证服务

使用样例

简单生成验证码

// 构建一个 Gmail风格 工厂并生成验证码
final GmailFactory factory = new GmailFactory();
// 构建一个数学计算验证码工厂
// final MathFactory factory = new MathFactory();
final Captcha captcha = factory.getCaptcha();

// 获取验证码图片
final BufferedImage image = captcha.getChallenge();

// 验证响应是否正确
if(captcha.validate("123456")) {
    // TODO 验证码响应正确
} else {
    // TODO 验证码响应不正确
}

使用验证码服务生成并验证验证码

CaptchaFactory 只是简单实现了验证码的生成, 对于验证过程中验证码的存储, 有效期等需要自行处理. cta4j 默认提供了 验证服务的实现.

// 构建使用 ehcache 进行存储的 captcha store, 也可以选用 redis 或自行实现 CaptchaStore 接口
final net.sf.ehcache.CacheManager cacheManager = net.sf.ehcache.CacheManager.getInstance();
final CaptchaStore captchaStore = new EhcacheStore(cacheManager);
final CaptchaFactory captchaFactory = new DefaultFactory();

final CaptchaService captchaService = new DefaultManageableCaptchaService(captchaStore, captchaFactory);
final String captchaToken = ...(自行生成 token 即可);

// 为 token 生成验证码
BufferedImage image = captchaService.getChallengeForId(captchaToken);

// 验证 token 对应相应是否正确
captchaService.validateResponseForId(captchaToken, "123");

通过滤镜(Filter)自定义验证码样式(待完善)

通过 ProxiedCaptchaFactory 自定义样式(待完善)

空文件

简介

Captcha for Java 一个简单的验证码框架 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/nebula-team/cta4j.git
git@gitee.com:nebula-team/cta4j.git
nebula-team
cta4j
cta4j
master

搜索帮助