From 82b5c11b7f3bb0f74c108fe2c06721968ae2b5da Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 18 Mar 2021 17:23:14 +0800 Subject: [PATCH] common: 完成验证码工具类 生成校验 --- screen-common/src/main/java/com/moral/util/KaptchaUtils.java | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/KaptchaUtils.java b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java index 7a1abe4..e79f9e3 100644 --- a/screen-common/src/main/java/com/moral/util/KaptchaUtils.java +++ b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; import sun.misc.BASE64Encoder; import javax.annotation.Resource; @@ -18,6 +19,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.UUID; +import java.util.concurrent.TimeUnit; /** * @ClassName KaptchaUtils @@ -33,6 +35,9 @@ private static DefaultKaptcha defaultKaptcha; private static RedisTemplate redisTemplate; + + //������������������ ������������ + private static final int validity_time = 60; @Autowired public void setRedisTemplate(RedisTemplate redisTemplate) { @@ -54,6 +59,7 @@ */ public static VerificationCode createVerificationCode() throws IOException { + VerificationCode verificationCode = new VerificationCode(); //��������������������� String text = defaultKaptcha.createText(); //������������ @@ -67,12 +73,19 @@ String encode = encoder.encode(bytes); //������������������redis String key = UUID.randomUUID().toString(); - //redisTemplate.opsForValsue().set(key,encode); - //redisTemplate.expire(); - return null; + redisTemplate.opsForValue().set(key,text); + redisTemplate.expire(key,validity_time, TimeUnit.SECONDS); + verificationCode.setKey(key); + verificationCode.setEncode(encode); + return verificationCode; } - public boolean verify(String verificationCode) { - return false; + public static boolean verify(VerificationCode code) { + String key = code.getKey(); + String inputText = code.getInputText(); + String validText = (String) redisTemplate.opsForValue().get(key); + if(inputText.equals(validText)) + return true; + return false; } -- Gitblit v1.8.0