Java生成图片验证码

一级目录

二级目录

三级目录

1、Java项目导入Maven依赖

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

2、编写controller层

	//获取图形验证码,Base64编码传递给前端,由前端编译
    @GetMapping("login/captcha")
    public Result<CaptchaVo> getCaptcha() {
        return loginService.captcha();
    }

3、编写Service层

    /**
     * 获取图形验证码
     * @return
     */
    @Override
    public Result<CaptchaVo> captcha() {
        //设置图形验证码的长宽高
        SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);
        //设置图形验证码的字符类型
        specCaptcha.setCharType(SpecCaptcha.TYPE_DEFAULT);
        //生成一个ID,存于redis,方便登录时校验
        String key = RedisConstant.ADMIN_LOGIN_PREFIX + UUID.randomUUID();
        //转换为小写,统一大小写方便登录校验
        String value = specCaptcha.text().toLowerCase();
        return Result.ok(new CaptchaVo(specCaptcha.toBase64(), key));
    }

此刻生成验证码接口即搞定,只需要前端调用接口,会将图形验证码生成的编码传递给前端,只需前端编译即可生成验证码图片。

在这里插入图片描述

图片验证码的字符类型有以下几种:

TYPE_DEFAULT		数字和字母混合
TYPE_ONLY_NUMBER	纯数字
TYPE_ONLY_CHAR		纯字母
TYPE_ONLY_UPPER		纯大写字母
TYPE_ONLY_LOWER		纯小写字母
TYPE_NUM_AND_UPPER	数字和大写字母

使用方法:

SpecCaptcha captcha = new SpecCaptcha(130, 48, 5); //设置长宽高
captcha.setCharType(Captcha.TYPE_ONLY_NUMBER);	  //设置验证码字符类型 

更多使用方法可以看官方文档:https://gitee.com/ele-admin/EasyCaptcha.git

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值