From 80d5adc94b52d1a1a8fa3b2e3a92d326acecd293 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 9 Jul 2025 11:32:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=86=E7=A0=81=E6=A0=A1=E9=AA=8C=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/auth/service/PasswordValidatorService.java | 6 ++++-- .../system/service/impl/PasswordValidatorServiceImpl.java | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bonus-auth/src/main/java/com/bonus/auth/service/PasswordValidatorService.java b/bonus-auth/src/main/java/com/bonus/auth/service/PasswordValidatorService.java index 8adff10..3cdb006 100644 --- a/bonus-auth/src/main/java/com/bonus/auth/service/PasswordValidatorService.java +++ b/bonus-auth/src/main/java/com/bonus/auth/service/PasswordValidatorService.java @@ -8,6 +8,7 @@ import com.bonus.common.core.exception.CaptchaException; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.text.Convert; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.utils.encryption.Sm4Utils; import com.bonus.common.core.utils.ip.IpUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.redis.service.RedisService; @@ -47,10 +48,11 @@ public class PasswordValidatorService { * 对新密码进行校验,返回布尔值表示密码是否符合要求。 * * @param username 用户名,不能包含在密码中 - * @param newPassword 新密码 + * @param decryptedNewPassword 新密码 * @return 如果密码符合策略要求,则返回 AjaxResult.success,否则返回错误提示 */ - public AjaxResult validatePassword(String username, String newPassword) { + public AjaxResult validatePassword(String username, String decryptedNewPassword) { + String newPassword = Sm4Utils.decrypt(decryptedNewPassword); if (!isPasswordLengthValid(newPassword)) { return AjaxResult.error("密码长度应为" + systemConfig.getPasswordConfig().getMinLength() + "至" + systemConfig.getPasswordConfig().getMaxLength() + "位!"); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/PasswordValidatorServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/PasswordValidatorServiceImpl.java index 2e6063f..248d80b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/PasswordValidatorServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/PasswordValidatorServiceImpl.java @@ -1,6 +1,7 @@ package com.bonus.system.service.impl; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.encryption.Sm4Utils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.config.SystemConfig; @@ -31,7 +32,9 @@ public class PasswordValidatorServiceImpl implements PasswordValidatorService { private PasswordValidatorMapper passwordValidatorMapper; @Override - public AjaxResult validatePassword(Long userId, String username, String oldPassword, String newPassword) { + public AjaxResult validatePassword(Long userId, String username, String decryptedOldPassword, String decryptedNewPassword) { + String oldPassword = Sm4Utils.decrypt(decryptedOldPassword); + String newPassword = Sm4Utils.decrypt(decryptedNewPassword); // 1. 检查密码长度 if (!isPasswordLengthValid(newPassword)) { return AjaxResult.error("密码长度应为" + systemConfig.getPasswordConfig().getMinLength() + "至" + systemConfig.getPasswordConfig().getMaxLength() + "位!");