一款超好用的开源验证码

本贴最后更新于 1819 天前,其中的信息可能已经天翻地覆

I1kgGyjcNhu2WAr

EasyCaptcha

github 地址: https://github.com/whvcse/EasyCaptcha

简介

Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目。

效果展示(部分验证码闪动,截图无法展示)

qxtCVYiB3I1kzhR

导入方式

1、 maven

<dependencies>
   <dependency>
      <groupId>com.github.whvcse</groupId>
      <artifactId>easy-captcha</artifactId>
      <version>1.6.2</version>
   </dependency>
</dependencies>

2、 gradle

dependencies {
 compile 'com.github.whvcse:easy-captcha:1.6.2'
 }

  1. jar 包

    下载地址 EasyCaptcha.jar

在 SpringMVC 中使用

@Controller 
public class CaptchaController {
	
	@RequestMapping("/captcha")  
	public void captcha(HttpServletRequest request, HttpServletResponse response) 		throws Exception {  
	    CaptchaUtil.out(request, response);  
	}  
}

前端 HTML

<img src="/captcha" width="130px" height="48px" />

如果使用了安全框架之类的拦截功能,要把/captcha 路径排除登录拦截。

有些同学可能需要在 Servlet 中使用如下

web.xml 中配置 servlet:

<web-app>
    <!-- 图形验证码servlet -->
    <servlet>
        <servlet-name>CaptchaServlet</servlet-name>
        <servlet-class>com.wf.captcha.servlet.CaptchaServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CaptchaServlet</servlet-name>
        <url-pattern>/captcha</url-pattern>
    </servlet-mapping>
</web-app>

前端 html 代码:

比较验证码

@Controller public class LoginController {
	@PostMapping("/login")  
	public JsonResult login(String username,String password,String verCode){  
    		if (!CaptchaUtil.ver(verCode, request)) {  
        		CaptchaUtil.clear(request);  // 清除session中的验证码  
        		return JsonResult.error("验证码不正确");  
       		}  
	}   
}

设置宽高和位数

@Controller
public class CaptchaController {
    @RequestMapping("/captcha")  
    public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {  
        // 设置位数  
        CaptchaUtil.out(5, request, response);  
        // 设置宽、高、位数  
        CaptchaUtil.out(130, 48, 5, request, response);  

        // 使用gif验证码  
        GifCaptcha gifCaptcha = new GifCaptcha(130,48,4);  
        CaptchaUtil.out(gifCaptcha, request, response);  
    }  
}

还有更多参数,可到作者 github 查看

  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 612 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone
    作者

    来看过的同学评论一下呀,让我看看你们来过 QAQ

  • 其他回帖
  • adlered 1

    👍