文字点击验证码
我们在登录或者其他有隐私的操作情况下,往往会输入验证码的情况,你还在用123456789abcd做循环输出?
这太捞了,今天我分享一个文字点击验证码的实现。
先看看生成效果图,有没有达到你想要的程度。
采用的主要方式是运用BufferedImage来绘制图片和文字。
直接上代码吧:由于某些原因不能上代码,只能发图片,请谅解,图片是从头到尾整个类的。
一、生成验证码
首先新建code.java类,配置一些基本属性
通过配置文件自动注入:
最后一行
public String getRandomStringZh(int num){
return String.valueOf(randZhString.charAt(num));
}
二、校验验证码
校验验证码可以通过filter过滤需要验证码的url,也可以通过拦截器
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter
来实现。因为在生成验证码的时候,我们将初始化的坐标存在了session里面,所以在拦截校验的时候,url应该携带前段点击的坐标,然后从session里面取到初始坐标来进行对比,对比成功则放行,否则return。
注意: 取坐标的时候,算的是点击的位置和整个验证码图片的百分比,不是坐标,url传的参数也是百分比。
下面是拦截器里面的主要逻辑,filter校验逻辑一样,只是放行方式不一样,filter需要配置路径。
以上就是图片点击验证码的简单实现了,有问题的请指出,欢迎下面评论。