Преглед на файлове

添加密码强度校验

yzc преди 1 година
родител
ревизия
70172cff3c
променени са 1 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 9 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java

+ 9 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java

@@ -7,6 +7,9 @@ import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 /**
  * 安全服务工具类
  *
@@ -83,6 +86,12 @@ public class SecurityUtils {
      * @return 加密字符串
      */
     public static String encryptPassword(String password) {
+        //密码强度校验
+        Pattern p = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?!.*([a-zA-Z0-9])\\1{2}).{8,16}$");
+        Matcher m = p.matcher(password);
+        if(!m.find()){
+            throw new ServiceException("密码需要包含 非连续的 大写英文字母 小写英文字母 数字");
+        }
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         return passwordEncoder.encode(password);
     }