代码拉取完成,页面将自动刷新
#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");
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。