Skip to content

Commit 17de35e

Browse files
authored
fix: 비밀번호 정규식 변경 (#100)
1 parent 3669ed6 commit 17de35e

1 file changed

Lines changed: 3 additions & 15 deletions

File tree

api/src/main/java/writeon/api/common/validation/IsPasswordValidator.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,16 @@
33
import jakarta.validation.ConstraintValidator;
44
import jakarta.validation.ConstraintValidatorContext;
55

6-
import java.util.stream.Stream;
7-
86
public class IsPasswordValidator implements ConstraintValidator<IsPassword, String> {
97

10-
final String digit = "0-9";
11-
final String uppercase = "A-Z";
12-
final String lowercase = "a-z";
13-
final String specialCharacters = "@$!%*?&";
8+
final String regexp
9+
= "(?=(.*[A-Z]))(?=(.*[a-z]))(?=(.*\\d))(?=(.*[\\W_])).{8,}$|^(?=(.*[A-Z]))(?=(.*[a-z]))(?=(.*\\d)).{8,}$|^(?=(.*[A-Z]))(?=(.*[a-z]))(?=(.*[\\W_])).{8,}$|^(?=(.*[A-Z]))(?=(.*\\d))(?=(.*[\\W_])).{8,}$|^(?=(.*[a-z]))(?=(.*\\d))(?=(.*[\\W_])).{8,}";
1410

1511
@Override
1612
public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
1713
if (s == null)
1814
return true;
1915

20-
final String otherCharacterMatcher = String.format(".*[^%s%s%s%s].*", digit, uppercase, lowercase, specialCharacters);
21-
if (s.matches(otherCharacterMatcher))
22-
return false;
23-
24-
long matchCount = Stream.of(digit, uppercase, lowercase, specialCharacters)
25-
.filter(regex -> s.matches(String.format(".*[%s].*", regex)))
26-
.count();
27-
28-
return matchCount >= 3;
16+
return s.matches(regexp);
2917
}
3018
}

0 commit comments

Comments
 (0)