Class ImageVerification
java.lang.Object
tech.riemann.nif.web.captcha.ImageVerification
图片验证码生成类
用于生成带有干扰线的验证码图片
主要功能: 1. 生成指定长度的验证码图片 2. 支持自定义验证码长度和生成器 3. 添加干扰线增加安全性 4. 使用随机颜色增强可读性
线程安全(H6 修复):验证码作为 creatImage() 的局部返回值
(VerificationImage)携带,不再存储在实例字段上——单例 Bean 并发调用时,
每次生成的结果彼此独立,杜绝"图片与验证码错位"。
验证码图片包含随机干扰线和随机位置的验证码字符
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
ConstructorsConstructorDescription默认构造函数ImageVerification(int imageVerificationLength, CaptchaGener captchaGener) 构造函数,使用指定的验证码长度和生成器ImageVerification(int imageVerificationLength, CaptchaGener captchaGener, int interferenceLines) 构造函数,使用指定的验证码长度、生成器和干扰线条数 -
Method Summary
Modifier and TypeMethodDescription创建验证码图片int获取干扰线条数getRandColor(int b, int e) 获取随机颜色intgetRandInt(int b, int e) 获取随机整数voidsetCaptchaGener(CaptchaGener captchaGener) 设置验证码生成器voidsetImageVerificationLength(int imageVerificationLength) 设置验证码长度voidsetInterferenceLines(int interferenceLines) 设置干扰线条数
-
Constructor Details
-
ImageVerification
public ImageVerification()默认构造函数使用默认的验证码长度(4位)和默认的验证码生成器
-
ImageVerification
构造函数,使用指定的验证码长度和生成器- Parameters:
imageVerificationLength- 验证码长度captchaGener- 验证码生成器
-
ImageVerification
public ImageVerification(int imageVerificationLength, CaptchaGener captchaGener, int interferenceLines) 构造函数,使用指定的验证码长度、生成器和干扰线条数- Parameters:
imageVerificationLength- 验证码长度captchaGener- 验证码生成器interferenceLines- 干扰线条数
-
-
Method Details
-
setImageVerificationLength
public void setImageVerificationLength(int imageVerificationLength) 设置验证码长度- Parameters:
imageVerificationLength- 验证码长度
-
getInterferenceLines
public int getInterferenceLines()获取干扰线条数- Returns:
- 干扰线条数
-
setInterferenceLines
public void setInterferenceLines(int interferenceLines) 设置干扰线条数- Parameters:
interferenceLines- 干扰线条数
-
creatImage
创建验证码图片生成带有干扰线的验证码图片,验证码作为结果的一部分局部返回—— 每次调用生成独立的结果(图片 + 验证码),线程安全
- Returns:
- 验证码生成结果(图片 + 验证码)
-
getRandColor
获取随机颜色在指定范围内生成随机颜色
- Parameters:
b- 颜色的最小值(0-255)e- 颜色的最大值(0-255)- Returns:
- 生成的随机颜色
-
getRandInt
public int getRandInt(int b, int e) 获取随机整数在指定范围内生成随机整数
- Parameters:
b- 最小值e- 最大值- Returns:
- 生成的随机整数
-
setCaptchaGener
-