Browse Source

验证码改为纯小写字母

master
jianjun 4 years ago
parent
commit
848f82f3d6
  1. 32
      epmet-auth/src/main/java/com/epmet/StringRandomUtils.java
  2. 24
      epmet-auth/src/main/java/com/epmet/controller/LoginController.java
  3. 10
      epmet-auth/src/main/java/com/epmet/service/CaptchaService.java
  4. 20
      epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java

32
epmet-auth/src/main/java/com/epmet/StringRandomUtils.java

@ -0,0 +1,32 @@
package com.epmet;
import com.epmet.commons.tools.constant.StrConstant;
/**
* desc:随机生成字母
*
* @author: LiuJanJun
* @date: 2022/3/1 5:16 下午
* @version: 1.0
*/
public class StringRandomUtils {
public static String getRandomStr(int length){
String result = StrConstant.EPMETY_STR;
//小写字母范围: 97~122
for (int i = 0; i < length; i++) {
int randomNumber = 97 + (int) (Math.random()* (122+1-97));
result += (char)randomNumber;
}
return result;
}
public static void main(String[] args) {
StringRandomUtils test = new StringRandomUtils();
//测试
for (int i = 0; i < 1000000; i++) {
System.out.println(getRandomStr(5));
}
}
}

24
epmet-auth/src/main/java/com/epmet/controller/LoginController.java

@ -68,30 +68,6 @@ public class LoginController {
} }
} }
/**
* @description 基层治理平台登录验证码
*
* @param response
* @return
* @author wxz
* @date 2021.10.25 14:19:40
*/
@GetMapping("ic-login-captcha")
public void icLoginCaptcha(HttpServletResponse response, String uuid) throws IOException {
try {
//生成图片验证码
BufferedImage image = captchaService.createIcLoginCaptcha(uuid);
response.reset();
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
out.close();
} catch (IOException e) {
log.error("获取登陆验证码异常", e);
}
}
/** /**
* @param formDTO * @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.lang.String> * @return com.epmet.commons.tools.utils.Result<java.lang.String>

10
epmet-auth/src/main/java/com/epmet/service/CaptchaService.java

@ -23,16 +23,6 @@ public interface CaptchaService {
*/ */
BufferedImage create(String uuid); BufferedImage create(String uuid);
/**
* @description 基层治理平台登录验证码
*
* @param
* @return
* @author wxz
* @date 2021.10.25 14:15:30
*/
BufferedImage createIcLoginCaptcha(String uuid);
/** /**
* 验证码效验 * 验证码效验
* @param uuid uuid * @param uuid uuid

20
epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java

@ -8,16 +8,17 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.google.code.kaptcha.Producer; import com.epmet.StringRandomUtils;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.redis.CaptchaRedis; import com.epmet.redis.CaptchaRedis;
import com.epmet.service.CaptchaService; import com.epmet.service.CaptchaService;
import com.google.code.kaptcha.Producer;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.UUID;
/** /**
* 验证码 * 验证码
@ -35,8 +36,8 @@ public class CaptchaServiceImpl implements CaptchaService {
@Override @Override
public BufferedImage create(String uuid) { public BufferedImage create(String uuid) {
//生成验证码 //生成验证码 //producer.createText();
String captcha = producer.createText(); String captcha = StringRandomUtils.getRandomStr(NumConstant.FIVE);
//logger.info("uuid:"+uuid+",生成的验证码:"+captcha); //logger.info("uuid:"+uuid+",生成的验证码:"+captcha);
//保存验证码 //保存验证码
captchaRedis.set(uuid, captcha); captchaRedis.set(uuid, captcha);
@ -44,17 +45,6 @@ public class CaptchaServiceImpl implements CaptchaService {
return producer.createImage(captcha); return producer.createImage(captcha);
} }
@Override
public BufferedImage createIcLoginCaptcha(String uuid) {
//生成验证码
String captchaText = producer.createText();
//logger.info("uuid:"+uuid+",生成的验证码:"+captcha);
//保存验证码
captchaRedis.setIcLoginCaptcha(uuid, captchaText);
return producer.createImage(captchaText);
}
@Override @Override
public boolean validate(String uuid, String code) { public boolean validate(String uuid, String code) {
String captcha = captchaRedis.get(uuid); String captcha = captchaRedis.get(uuid);

Loading…
Cancel
Save