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