当前位置: 首页 > news >正文

做代刷网站赚钱不小程序注册申请多少钱

做代刷网站赚钱不,小程序注册申请多少钱,武威建设局网站,网站建设有哪些方面hutool工具类实现验证码 一.生成验证码二.校验验证码三.使用案例1.引入hutool工具类2.VerifyCodeResp接口响应体3.VerifyCodeController验证码工具类4.测试验证5.项目结构及源码下载 利用hutool工具类,可以很方便生成不同类型的验证码。这里简单记录下使用过程。 一…

hutool工具类实现验证码

  • 一.生成验证码
  • 二.校验验证码
  • 三.使用案例
    • 1.引入hutool工具类
    • 2.VerifyCodeResp接口响应体
    • 3.VerifyCodeController验证码工具类
    • 4.测试验证
    • 5.项目结构及源码下载

利用hutool工具类,可以很方便生成不同类型的验证码。这里简单记录下使用过程。

一.生成验证码

提供接口将生成的验证码存入session或redis,将验证码以图片格式或者base64编码串返回给调用端。

二.校验验证码

提供接口将收到调用端传过来的校验码,从session或redis取出验证码,两个验证码都全部转小写,进行无大小写区分匹配校验,返回true/flase 。

三.使用案例

1.引入hutool工具类

        <!-- hutool工具类 --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.12</version></dependency>

2.VerifyCodeResp接口响应体

@Data
public class VerifyCodeResp implements Serializable {/*** header头参数:Captcha-Key*/private String captchaKey;/*** 验证码图片*/private String captchaImg;
}

3.VerifyCodeController验证码工具类

/*** 验证码工具类*/
@RestController
public class VerifyCodeController {@ResourceRedisTemplate<String, String> redisTemplate;/*** 生成验证码** 方法一 ShearCaptcha* 图片格式* session存储* 接口需添加白名单放行** @param request HttpServletRequest*/@GetMapping("/verify")public void verify(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setContentType("image/jpeg");response.setHeader("Pragma", "no-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);//定义图形验证码的长、宽、验证码字符数、干扰线宽度ShearCaptcha shearCaptcha = CaptchaUtil.createShearCaptcha(150, 40, 5, 4);//图形验证码写出,可以写出到文件,也可以写出到流shearCaptcha.write(response.getOutputStream());//获取验证码中的文字内容request.getSession().setAttribute("verifyCode", shearCaptcha.getCode());}/*** 生成验证码** 方法二 LineCaptcha* 图片格式* session存储* 接口需添加白名单放行** @param request HttpServletRequest*/@GetMapping("/verifyTwo")public void verifyTwo(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setContentType("image/jpeg");response.setHeader("Pragma", "no-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);//定义图形验证码的长、宽、验证码字符数、干扰线宽度LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(150, 40, 5, 4);//图形验证码写出,可以写出到文件,也可以写出到流ImageIO.write(lineCaptcha.getImage(), "JPEG", response.getOutputStream());//获取验证码中的文字内容request.getSession().setAttribute("verifyCode", lineCaptcha.getCode());}/*** 方法三 ShearCaptcha* 图片的base64编码字符串* session存储* 接口需添加白名单放行** @param request HttpServletRequest* @return String*/@GetMapping("/getVerify")public String getVerify(HttpServletRequest request) {//定义图形验证码的长、宽、验证码字符数、干扰线宽度ShearCaptcha shearCaptcha = CaptchaUtil.createShearCaptcha(150, 40, 5, 4);//获取验证码中的文字内容request.getSession().setAttribute("verifyCode", shearCaptcha.getCode());String base64String = "";try {base64String = "data:image/png;base64," + shearCaptcha.getImageBase64();} catch (Exception e) {e.printStackTrace();}return base64String;}/*** 方法四 LineCaptcha* 图片的base64编码字符串* session存储* 接口需添加白名单放行** @param request HttpServletRequest* @return String*/@GetMapping("/getVerifyTwo")public String getVerifyTwo(HttpServletRequest request) {//定义图形验证码的长、宽、验证码字符数、干扰线宽度LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(150, 40, 5, 4);//获取验证码中的文字内容request.getSession().setAttribute("verifyCode", lineCaptcha.getCode());String base64String = "";try {//返回 base64ByteArrayOutputStream bos = new ByteArrayOutputStream();ImageIO.write(lineCaptcha.getImage(), "JPEG", bos);byte[] bytes = bos.toByteArray();Base64.Encoder encoder = Base64.getEncoder();base64String = "data:image/png;base64," + encoder.encodeToString(bytes);} catch (Exception e) {e.printStackTrace();}return base64String;}/*** 方法五 ShearCaptcha* 图片的base64编码字符串* redis存储* 接口需添加白名单放行** @return String*/@GetMapping("/getVerifyThree")public VerifyCodeResp getVerifyThree() {String captchaKey = UUID.randomUUID().toString();//定义图形验证码的长、宽、验证码字符数、干扰线宽度ShearCaptcha shearCaptcha = CaptchaUtil.createShearCaptcha(150, 40, 5, 0);// 存入redis并设置过期时间为30分钟redisTemplate.opsForValue().set("captcha:" + captchaKey, shearCaptcha.getCode(), 30L, TimeUnit.MINUTES);String base64String = "";try {base64String = "data:image/png;base64," + shearCaptcha.getImageBase64();} catch (Exception e) {e.printStackTrace();}VerifyCodeResp verifyCodeResp = new VerifyCodeResp();verifyCodeResp.setCaptchaKey(captchaKey);verifyCodeResp.setCaptchaImg(base64String);return verifyCodeResp;}/*** 方法六 LineCaptcha* 图片的base64编码字符串* redis存储* 接口需添加白名单放行** @return String*/@GetMapping("/getVerifyFour")public VerifyCodeResp getVerifyFour() {String captchaKey = UUID.randomUUID().toString();//定义图形验证码的长、宽、验证码字符数、干扰线宽度LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(150, 40, 5, 4);// 存入redis并设置过期时间为30分钟redisTemplate.opsForValue().set("captcha:" + captchaKey, lineCaptcha.getCode(), 30L, TimeUnit.MINUTES);String base64String = "";try {//返回 base64ByteArrayOutputStream bos = new ByteArrayOutputStream();ImageIO.write(lineCaptcha.getImage(), "JPEG", bos);byte[] bytes = bos.toByteArray();Base64.Encoder encoder = Base64.getEncoder();base64String = "data:image/png;base64," + encoder.encodeToString(bytes);} catch (Exception e) {e.printStackTrace();}VerifyCodeResp verifyCodeResp = new VerifyCodeResp();verifyCodeResp.setCaptchaKey(captchaKey);verifyCodeResp.setCaptchaImg(base64String);return verifyCodeResp;}
}

4.测试验证

如果测试验证码存入redis,则需要提前配置和启动redis。
在这里插入图片描述
在这里插入图片描述

5.项目结构及源码下载

在这里插入图片描述
下载地址 springboot-cacheable 欢迎star哦~

http://www.yayakq.cn/news/488695/

相关文章:

  • 淘客返利网站怎么做嵌入式培训机构有哪些
  • 微网站和网站同步像素中铁建设企业门户网
  • 网站推广关键词排名网站设计制作过程
  • 微信链接网站怎么做的鲁山网站建设兼职
  • 一个域名可以建几个网站河北省建设执业资格注册中心网站
  • 网站建设与管理管理课程字体设计在线转换器
  • 肥西建设局网站电子商城网站系统
  • 辽阳哪里做网站成都旅游酒店推荐
  • 深圳网站优化排名国产cms软件有哪些
  • 有后台的网站怎么做未来3年房价走势预测
  • 表白网页制作网站wordpress进入有点卡
  • 网站建设服务费入什么科目下载中国建设银行官网站
  • 代做网站app一对一视频网站建设
  • 企业网站产品优化怎么做wordpress带微信二维码
  • 旅游网站的功能做面包的网站
  • 长春火车站附近美食广州建设网站开发
  • html5 素材网站关于域名用于非网站用途
  • 个体商户建自己的网站做销售甘肃省建设社厅网站
  • 网站建设小江网页设计谷歌seo是什么意思
  • 国外的做的比较优秀的网站网站建设app开发学习
  • 智慧物流企业网站建设方案苏州互联网企业排名
  • ftp网站怎么建电子商务网站建设培训小结
  • 苍南哪里有网站建设公司家政服务网站源码
  • 零代码建站平台和生活爱辽宁下载安装
  • 深圳网站建设选哪家好asp.net做电商网站设计
  • 上海法律网站建设网站怎么做关键词研究
  • 新乡网站文登建设局官方网站
  • 网站个人备案步骤wordpress写文章美化
  • 教学网站建设学做炒菜的网站
  • 合肥网站建设的价格网站制作工资