后端使用hutool工具库生成图形验证码以及存入Redis进行缓存

随着很多网站登录都需要进行一个图形验证码的校验,接下来就给大家讲下后端怎么画这个图形验证码。


提示:以下是本篇文章正文内容,下面案例可供参考

一、图形验证码是什么?

Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。

二、使用步骤

1.引入Hutool依赖

代码如下(示例):

           <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.7.22</version>
            </dependency>

2.实现接口

代码如下(示例):

   /**
     * 获取图形验证码
     * @param form
     * @return
     */
    @Override
    public String getBase64Code(GetBase64CodeForm form) {
//        1.使用hutool工具生成验证码 ,宽,高,字符数,线条模糊度
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(300, 192,5, 1000);
        String code = lineCaptcha.getCode();
        //将图形验证码存入redis中,并且15分钟后过期
        redisTemplate.opsForValue().set(RedisKeyConstant.GRAPHIC_VERIFICATION_CODE+form.getClientId(),code,15, TimeUnit.MINUTES);
        return lineCaptcha.getImageBase64();
    }

1.以下的四个参数:高度,宽度,字符数,模糊度(线条数)

CaptchaUtil.createLineCaptcha(300, 192,5, 1000);

字符数就是需要生成多少个字的验证码,例如这里设置了5,就会生成以下五个字符

,模糊度就是背景那些线条,越大越不清晰。

2.最后直接获取:cdtzc

   String code = lineCaptcha.getCode();

3.存入Redis

redisTemplate.opsForValue().set(RedisKeyConstant.GRAPHIC_VERIFICATION_CODE+form.getClientId(),code,15, TimeUnit.MINUTES);        

这段代码是存入Redis缓存中的,redisTemplate.opsForValue().set(你的Key,生成的验证码(cdtzc),15分钟后过期,分钟) 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值