From ecf63aff47102489b5b067effc1214fccb6173ba Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 14 十月 2022 16:50:29 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/sys/UserService.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/service/sys/UserService.java b/src/main/java/com/lf/server/service/sys/UserService.java
index 56308af..814b90b 100644
--- a/src/main/java/com/lf/server/service/sys/UserService.java
+++ b/src/main/java/com/lf/server/service/sys/UserService.java
@@ -1,6 +1,8 @@
 package com.lf.server.service.sys;
 
 import com.lf.server.entity.sys.UserEntity;
+import com.lf.server.helper.Md5Helper;
+import com.lf.server.helper.RsaHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.sys.UserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -91,4 +93,66 @@
 
         return userMapper.selectByPageForRole(uname, roleid, depid, limit, offset);
     }
+
+    /**
+     * 楠岃瘉鏂扮敤鎴峰瘑鐮�
+     */
+    public String ValidateNewPwd(UserEntity entity) {
+        if (entity == null) {
+            return "娌℃湁鎵惧埌鐢ㄦ埛";
+        }
+        if (StringHelper.isEmpty(entity.getPwd())) {
+            return "瀵嗙爜涓嶈兘涓虹┖";
+        }
+
+        try {
+            String pwd = RsaHelper.decrypt(entity.getPwd());
+            if (!StringHelper.checkPwdValid(pwd)) {
+                return "瀵嗙爜涓嶇鍚堣姹�";
+            }
+
+            String newPwd = Md5Helper.reverse(Md5Helper.generate(pwd));
+            entity.setPwd(newPwd);
+
+            return null;
+        } catch (Exception ex) {
+            return "瀵嗙爜瑙e瘑澶辫触";
+        }
+    }
+
+    /**
+     * 楠岃瘉鑰佺敤鎴峰瘑鐮�
+     */
+    public String ValidateOldPwd(UserEntity entity) {
+        if (entity == null) {
+            return "娌℃湁鎵惧埌鐢ㄦ埛";
+        }
+        if (StringHelper.isEmpty(entity.getPwd())) {
+            return "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖";
+        }
+
+        try {
+            String pwd = RsaHelper.decrypt(entity.getPwd());
+            String salt = RsaHelper.decrypt(entity.getSalt());
+
+            UserEntity ue = selectUser(entity.getId());
+            if (ue == null) {
+                return "娌℃湁鎵惧埌鐢ㄦ埛";
+            }
+            if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
+                return "鏃у瘑鐮佽緭鍏ラ敊璇�";
+            }
+            if (!StringHelper.checkPwdValid(salt)) {
+                return "瀵嗙爜涓嶇鍚堣姹�";
+            }
+
+            String newPwd = Md5Helper.reverse(Md5Helper.generate(salt));
+            entity.setPwd(newPwd);
+            entity.setSalt("");
+
+            return null;
+        } catch (Exception ex) {
+            return "瀵嗙爜瑙e瘑澶辫触";
+        }
+    }
 }

--
Gitblit v1.9.3