java生成验证码工具类
时间: 2023-08-18 19:10:09 浏览: 100
ValidateCodeUtils.rar
以下是一个简单的 Java 代码示例,用于生成验证码:
```java
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.imageio.ImageIO;
public class CaptchaUtil {
// 验证码字符集
private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// 验证码图片宽度
private static final int WIDTH = 120;
// 验证码图片高度
private static final int HEIGHT = 40;
// 验证码字符数量
private static final int CHAR_NUM = 4;
// 随机数生成器
private static final Random RANDOM = new Random();
public static BufferedImage generateCaptchaImage() {
// 创建图像缓冲区
BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
// 获取图形上下文
Graphics g = image.getGraphics();
// 设置背景颜色
g.setColor(Color.WHITE);
// 填充背景色
g.fillRect(0, 0, WIDTH, HEIGHT);
// 设置字体
g.setFont(new Font("Arial", Font.BOLD, 30));
// 生成随机验证码
StringBuilder code = new StringBuilder();
for (int i = 0; i < CHAR_NUM; i++) {
int index = RANDOM.nextInt(CHARACTERS.length());
char c = CHARACTERS.charAt(index);
code.append(c);
// 设置随机颜色
g.setColor(new Color(RANDOM.nextInt(256), RANDOM.nextInt(256), RANDOM.nextInt(256)));
// 绘制验证码
g.drawString(String.valueOf(c), i * 30, 30);
}
// 释放图形上下文资源
g.dispose();
return image;
}
}
```
这个工具类生成一个包含 4 个字符的验证码图片,字符集为大小写字母和数字。你可以根据需要修改字符集、验证码长度、图片大小等参数。
阅读全文