patchca生成超炫的验证码

落日映苍穹つ 2022-06-13 02:48 199阅读 0赞

官网:http://code.google.com/p/patchca/

  1. /**
  2. * 验证码
  3. *
  4. * @param width 图片宽度
  5. * @param height 图片高度
  6. * @param number 验证码数量
  7. */
  8. @RequestMapping(value = {"/captcha"})
  9. public void captcha(HttpServletRequest request,
  10. HttpServletResponse response, @RequestParam("w") int width, @RequestParam("h") int height, @RequestParam("n") int number) throws IOException {
  11. ConfigurableCaptchaService cs = new ConfigurableCaptchaService();
  12. cs.setColorFactory(new SingleColorFactory(new Color(25, 60, 170)));
  13. cs.setFilterFactory(new CurvesRippleFilterFactory(cs.getColorFactory()));
  14. RandomFontFactory ff = new RandomFontFactory();
  15. ff.setMinSize(30);
  16. ff.setMaxSize(30);
  17. RandomWordFactory rwf = new RandomWordFactory();
  18. rwf.setMinLength(number);
  19. rwf.setMaxLength(number);
  20. cs.setWordFactory(rwf);
  21. cs.setFontFactory(ff);
  22. cs.setHeight(height);
  23. cs.setWidth(width);
  24. response.setContentType("image/png");
  25. response.setHeader("Cache-Control", "no-cache, no-store");
  26. response.setHeader("Pragma", "no-cache");
  27. long time = System.currentTimeMillis();
  28. response.setDateHeader("Last-Modified", time);
  29. response.setDateHeader("Date", time);
  30. response.setDateHeader("Expires", time);
  31. ServletOutputStream stream = response.getOutputStream();
  32. String validate_code = EncoderHelper.getChallangeAndWriteImage(cs,
  33. "png", stream);
  34. Subject subject = SecurityUtils.getSubject();
  35. subject.getSession().setAttribute(formAuthenticationFilter.getCaptchaParam(), validate_code);
  36. stream.flush();
  37. stream.close();
  38. }

Center

发表评论

表情:
评论列表 (有 0 条评论,199人围观)

还没有评论,来说两句吧...

相关阅读

    相关 验证生成

    视图函数里 > 1,导入图片,画布,画笔,画笔上的字体,定义坐标 > 2,从外部导入字体(字体导入到static静态中) > 3,随机生成验证码,验证码颜色,验证