Happy Captcha是一款易于使用的Java验证码软件包,旨在花最短的时间,最少的代码量实现验证码功能

Maven依赖

<dependency>
  <groupId>com.ramostear</groupId>
  <artifactId>Happy-Captcha</artifactId>
  <version>1.0.1</version>
</dependency>

Happy Captcha提供了图片和动画两中展现形式,验证码内容包括中文(收录3500个常用汉字),阿拉伯数字(0~9),中文数字(零至九),中文大写数字(零至玖),数字与字母混合(0~9-a~z-A~Z),数字与小写字母混合(0~9-a~z),数字与大写字母混合(0~9-A~Z),纯小写字母,纯大写字母,大小写字母混合以及运算表达式(阿拉伯数字运算表达式和中文运算表达式)等12种类型。

对于HappyCaptcha而言,只有request和response是必须提供的参数,其余参数都可以使用缺省值。 

import com.ramostear.captcha.HappyCaptcha;
import com.ramostear.captcha.support.CaptchaStyle;
import com.ramostear.captcha.support.CaptchaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@RestController
public class Captcha {
       //生成验证码
        @GetMapping("/captcha")
        public void happyCaptcha(HttpServletRequest request, HttpServletResponse response){
            HappyCaptcha.require(request,response)
                    .style(CaptchaStyle.ANIM)            //设置展现样式为动画,CaptchaStyle.IMG为图片
                    .type(CaptchaType.ARITHMETIC)            //设置验证码内容为运算表达式
                    //.length(6)                            //设置字符长度,验证码的类型为ARITHMETIC或ARITHMETIC_ZH,可省略验证码长度的设置。
                    .height(40)                            //设置动画高度
                    .width(180)                            //设置动画宽度
                    .build().finish();                  //生成并输出验证码
    }
   //校验验证码,result参数为生成的验证码
    @PostMapping("/check")
    public String verify(String result,HttpServletRequest request){
        boolean flag = HappyCaptcha.verification(request,result,true);
        if(flag){
            return "success";
        }
        return "false";
    }
//清理验证码
    @GetMapping("/remove/captcha")
    public void removeCaptcha(HttpServletRequest request){
        HappyCaptcha.remove(request);
    }
}

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐