«

Java 生成图片验证码完整指南(完整版)

时间:2026-11-2 09:15     作者:emer     分类: 无


对于Java开发者来说,生成图片验证码是一项基本功。基本功这东西,平时看不到收益,关键时刻却能救你一命。

从一个真实场景说起:生成图片验证码

生成图片验证码说难不难,说简单也不简单。会用只要十分钟,用好却需要一些经验积累。本文把这些经验浓缩成几个要点,帮你少走弯路。

生成图片验证码的重点都在这了

接下来用代码实际演示一下生成图片验证码。

眼见为实:生成图片验证码示例

下面通过生成图片验证码来实际演示一下:

public static String captcha(OutputStream out) throws Exception {
    int w = 120, h = 40;
    BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = img.createGraphics();
    g.setColor(Color.WHITE);
    g.fillRect(0, 0, w, h);
    String chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";  // 去掉易混淆字符
    StringBuilder code = new StringBuilder();
    Random r = new Random();
    for (int i = 0; i < 4; i++) {
        char c = chars.charAt(r.nextInt(chars.length()));
        code.append(c);
        g.setColor(new Color(r.nextInt(150), r.nextInt(150), r.nextInt(150)));
        g.drawString(String.valueOf(c), 20 + i * 25, 28);
    }
    g.dispose();
    ImageIO.write(img, "png", out);
    return code.toString();   // 存入 session 用于校验
}

这些细节要注意

收尾

生成图片验证码并不神秘,把本文的要点和示例吃透,日常使用就足够了。剩下的就是在项目中多练,用着用着就熟了。


遇见问题加 QQ23979811 协助处理

标签: 编程教程 Java