Welcome专业第三方计量检测机构

Customer_Hot_Line

13005488404

location: nav1> 大朗仪器检>龙泉驿仪器

龙泉驿仪器校验证书

author:专业第三方计量检测机构

【font_size: big medium smail

time:2019-12-04 09:28:01

本文由仪器计量检测中心提供,重点介绍了龙泉驿仪器校验证书相关内容。仪器计量检测中心专业提供大朗仪器检定单位,大朗仪器检定公司,大朗仪器检定机构等多项产品服务。我司拥有一批高专业性的员工。我们一贯秉承诚实、守信、认真负责的工作态度,深受广大客户的好评!

龙泉驿仪器校验证书背景:有时候写文章纯粹就是因为一个想法。想到了就记录下来,然后分享给大家,希望对大家有帮助。

一、kaptcha简介Google 的 kaptcha 框架是一个高度可配置的实用验证码生成工具,具体配置项如下:

kaptcha配置项二、SpringBoot集成kaptchapom引入kaptcha的maven依赖项

com.github.penggle

kaptcha

2.3.2

kaptcha配置import java.util.Properties;

import org。springframework。context。annotation。Bean;

import org.springframework.stereotype.Component;

import com.google.code.kaptcha.impl.DefaultKaptcha;

import com.google.code.kaptcha.util.Config;

@Component

public class KaptchaConfig {

@Bean

public DefaultKaptcha getDefaultKaptcha() {

com.google.code.kaptcha.impl.DefaultKaptcha defaultKaptcha = new com.google.code.kaptcha.impl.DefaultKaptcha();

Properties properties = new Properties();

// 图片边框

properties。setProperty("kaptcha。border", "yes");

// 边框颜色

properties。setProperty("kaptcha。border。color", "105,179,90");

// 字体颜色

properties。setProperty("kaptcha。textproducer。font。color", "red");

// 图片宽

properties.setProperty("kaptcha.image.width", "110");

// 图片高

properties.setProperty("kaptcha.image.height", "40");

// 字体大小

properties.setProperty("kaptcha.textproducer.font.size", "30");

// session key

properties.setProperty("kaptcha.session.key", "code");

// 验证码长度

properties.setProperty("kaptcha.textproducer.char.length", "4");

// 字体

properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");

properties.setProperty("kaptcha.noise.color", "35,37,38");

Config config = new Config(properties);

defaultKaptcha.setConfig(config);

return defaultKaptcha;

}

}kaptcha,控制层代码实现import com.google.code.kaptcha.impl.DefaultKaptcha;

import io.swagger.annotations.Api;

import io.swagger.annotations.ApiOperation;

import org.apache.commons.lang3.StringUtils;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.*;

import javax.imageio.ImageIO;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax。servlet。http。HttpServletResponse;

import java.awt.image.BufferedImage;

import java.io.ByteArrayOutputStream;

@Api(tags = {"Google-kaptcha验证码"})

@RestController

@RequestMapping("/api/kaptcha")

public class KaptchaController {

@Autowired

DefaultKaptcha defaultKaptcha;

@ApiOperation(value = "生成验证码")

@GetMapping("/defaultKaptcha")

public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)

throws Exception {

byte[] captchaChallengeAsJpeg = null;

ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();龙泉驿仪器校验证书

try {

// 生产验证码字符串并保存到session中龙泉驿仪器校验证书

String createText = defaultKaptcha。createText();

httpServletRequest.getSession().setAttribute("verificationCode", createText);

// 使用生成的验证码字符串返回一个BufferedImage对象并转为byte写入到byte数组中

BufferedImage challenge = defaultKaptcha。createImage(createText);

ImageIO。write(challenge, "jpg", jpegOutputStream);

} catch (IllegalArgumentException e) {

httpServletResponse。sendError(HttpServletResponse。SC_NOT_FOUND);

return;

}

// 定义response输出类型为image/jpeg类型,使用response输出流输出图片的byte数组

captchaChallengeAsJpeg = jpegOutputStream。toByteArray();

httpServletResponse.setHeader("Cache-Control", "no-store");

httpServletResponse.setHeader("Pragma", "no-cache");

httpServletResponse。setDateHeader("Expires", 0);

httpServletResponse.setContentType("image/jpeg");

ServletOutputStream responseOutputStream = httpServletResponse。getOutputStream();

responseOutputStream.write(captchaChallengeAsJpeg);

responseOutputStream。flush();

responseOutputStream.close();

}

@ApiOperation(value = "校对验证码")

@PostMapping("/checkVerificationCode")

public Result checkVerificationCode(@RequestParam(value = "verificationCode") String verificationCode, HttpServletRequest httpServletRequest) {

String verificationCodeIn = (String) httpServletRequest.getSession().getAttribute("verificationCode");

httpServletRequest.getSession().removeAttribute("verificationCode");

if (StringUtils.isEmpty(verificationCodeIn) || !verificationCodeIn.equals(verificationCode)) {

return Result.failureMsg("验证码错误,或已失效");

}

return Result.success();

}

}swagger调用结果演示HTML页面添加IMG标签为图片绑定一个切换验证码事件

google kaptcha

麦久福彩 鸿鑫福彩 爱波福彩 乐透福彩 大信福彩 名人福彩 优中福彩 亿彩福彩 明发福彩 酷睿福彩

结果演示

麦久福彩 鸿鑫福彩 爱波福彩 乐透福彩 大信福彩 名人福彩 优中福彩 亿彩福彩 明发福彩 酷睿福彩