一、使用Hutool验证码
public Result<Object> getVerify() throws Exception {
LineCaptcha captcha = CaptchaUtil.createLineCaptcha(Constants.WIDTH, Constants.HEIGHT, Constants.CODE_COUNT, Constants.LINE_COUNT);
captcha.setFont(new Font("Consolas", Font.BOLD, (int) ((double) Constants.HEIGHT * 0.75D)));
captcha.setGenerator(new RandomGenerator(Constants.VERIFY_STR, Constants.CODE_COUNT));
captcha.createCode();
String verifyCode = captcha.getCode();
String param = "data:image/png;base64," + captcha.getImageBase64();
return Result.success(param);
}
二、Kaptcha
public Result kaptcha() throws Exception {
String key = UUID.randomUUID().toString();
String code = producer.createText();
BufferedImage image = producer.createImage(code);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", outputStream);
String base64Img = "data:image/png;base64,"
.concat(Base64Encoder.encode(outputStream.toByteArray()));
return Result.success(MapUtil.builder()
.put("key", key)
.put("base64Img", base64Img)
.build());
}