Я нахожусь в процессе создания веб-приложения Java, чтобы позволить пользователям создавать достаточно надежные учетные данные, я бы хотел, чтобы они не вводили слабые пароли. Я хотел бы следовать основным правилам: он должен содержать не менее восьми символов и не менее одной цифры и одного символа. Я был бы признателен за точку в правильном направлении, большое спасибо!
Веб-приложение Java Создание пользователя, устранение слабых паролей
comment
См. второй ответ этого stackoverflow.com/questions/3802192/ Надеюсь, это поможет
- person Pradeepal Sudeshana   schedule 31.03.2016
Ответы (2)
Два решения:
1.) Вы можете использовать регулярное выражение для требований к паролю и сравнить пароль, введенный пользователем, с этим выражением. Если шаблон пароля соответствует регулярному выражению, вы можете позволить пользователю зарегистрироваться, иначе вы можете показать ошибку.
2.) Когда пользователь вводит пароль, вы можете вызвать функцию, которая проверит: a. пароль содержит хотя бы одну цифру. б. пароль содержит хотя бы один специальный символ. в. длина пароля, введенного пользователем, больше минимальной длины и т. д.
эта функция вернет true или false в зависимости от того, принят пароль или нет.
Надеюсь, это поможет вам.
person
Alok Gupta
schedule
31.03.2016
Вы можете проверить введенный пользователем пароль с помощью этого java-кода,
public static boolean isValidPassword(String userEnteredPassword) {
boolean atleastOneUpper = false;
boolean atleastOneLower = false;
boolean atleastOneDigit = false;
if (userEnteredPassword.length() < 8) { // If its less then 8 characters, its automatically not valid
return false;
}
for (int i = 0; i < userEnteredPassword.length(); i++) { // Lets iterate over only once. Saving time
if (Character.isUpperCase(userEnteredPassword.charAt(i))) {
atleastOneUpper = true;
}
else if (Character.isLowerCase(userEnteredPassword.charAt(i))) {
atleastOneLower = true;
}
else if (Character.isDigit(userEnteredPassword.charAt(i))) {
atleastOneDigit = true;
}
}
return (atleastOneUpper && atleastOneLower && atleastOneDigit); // Return true IFF the userEnteredPassword is atleast eight characters long, has atleast one upper, lower and digit
}
person
Vishal Gajera
schedule
31.03.2016