java 验证码之 patchca

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")
@ResponseBody
public 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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值