Skip to content

Commit 2e9da20

Browse files
committed
Update Library.java
Password requirements method has been enhanced with high protection requirements.
1 parent b04744c commit 2e9da20

1 file changed

Lines changed: 48 additions & 4 deletions

File tree

Codes/Library.java

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,57 @@ public User login(String username, String password) {
3737
return null;
3838
}
3939

40-
public boolean isAllowedPassword(String password) {
40+
public String isAllowedPassword(String password) {
41+
42+
int capitalLetter = 0;
43+
int lowerCaseLetter = 0;
44+
int specialCharacter = 0;
45+
4146

4247
if (password.length() < 8) {
43-
return false;
44-
}
4548

46-
return true;
49+
for (int i = 0; i < password.length(); i++) {
50+
if (Character.isUpperCase(password.charAt(i))) {
51+
capitalLetter++;
52+
}
53+
else if (Character.isLowerCase(password.charAt(i))) {
54+
lowerCaseLetter++;
55+
}
56+
else if (!Character.isLetterOrDigit(password.charAt(i))) {
57+
specialCharacter++;
58+
}
59+
}
60+
61+
if (capitalLetter < 1 && lowerCaseLetter < 1 && specialCharacter < 1) {
62+
return "allReqDenied";
63+
}
64+
else if (capitalLetter < 1 && lowerCaseLetter < 1 && specialCharacter > 0) {
65+
return "capitalLower";
66+
}
67+
else if (capitalLetter < 1 && lowerCaseLetter > 0 && specialCharacter < 1) {
68+
return "capitalSpecial";
69+
}
70+
else if (capitalLetter > 0 && lowerCaseLetter < 1 && specialCharacter < 1) {
71+
return "lowerSpecial";
72+
}
73+
else if (capitalLetter > 0 && lowerCaseLetter > 0 && specialCharacter < 1) {
74+
return "special";
75+
}
76+
else if (capitalLetter > 0 && lowerCaseLetter < 1 && specialCharacter > 0) {
77+
return "lower";
78+
}
79+
else if (capitalLetter < 1 && lowerCaseLetter > 0 && specialCharacter > 0) {
80+
return "capital";
81+
}
82+
else {
83+
return "allowed";
84+
}
85+
86+
}
87+
else {
88+
return "shortPass";
89+
}
90+
4791
}
4892

4993
public ArrayList<User> getUsers() {

0 commit comments

Comments
 (0)