java 验证码之 patchca

来源:互联网 发布:874是什么意思网络用语 编辑:程序博客网 时间:2024/06/05 09:34

patchca

jar下载地址:http://code.google.com/p/patchca/downloads/list
源码下载地址:https://github.com/pusuo/patchca
测试结果:较理想
一、测试
测试后查看项目的根目录

     public static void main(String[] args) throws IOException {     ConfigurableCaptchaService cs = new ConfigurableCaptchaService();    cs.setColorFactory(new SingleColorFactory(new Color(25, 60, 170)));    cs.setFilterFactory(new CurvesRippleFilterFactory(cs.getColorFactory()));    FileOutputStream fos = new FileOutputStream("patcha_demo.png");    String validate_code = EncoderHelper.getChallangeAndWriteImage(cs, "png", fos);    System.out.println("*****************"+validate_code+"*****************");    fos.close();}

二、springMVC 的使用

    /** * 获取验证码 *  * @param request * @param response * @throws IOException */@RequestMapping(value = "/init/InitRegValCode", produces = "text/plain;charset=UTF-8")@ResponseBodypublic void InitRegValCode(HttpServletRequest request,        HttpServletResponse response) throws IOException {        ConfigurableCaptchaService cs = new ConfigurableCaptchaService();    cs.setColorFactory(new SingleColorFactory(new Color(25, 60, 170)));    cs.setFilterFactory(new CurvesRippleFilterFactory(cs.getColorFactory()));    RandomFontFactory ff = new RandomFontFactory();    ff.setMinSize(30);    ff.setMaxSize(30);    RandomWordFactory rwf = new RandomWordFactory();    rwf.setMinLength(4);    rwf.setMaxLength(4);    cs.setWordFactory(rwf);    cs.setFontFactory(ff);    cs.setHeight(30);    cs.setWidth(140);    try {        ServletOutputStream stream = response.getOutputStream();        String validate_code = EncoderHelper.getChallangeAndWriteImage(cs,                "png", stream);        request.getSession().setAttribute("REG_VAL_CODE", validate_code);        stream.flush();        stream.close();    } catch (IOException e) {        e.printStackTrace();    }}
0 0
原创粉丝点击