2016-03-31 1 views
1

Я занимаюсь созданием веб-приложения Java, чтобы позволить пользователям создавать справедливые сильные учетные данные. Я хотел бы помешать им входить в слабые пароли. Я хотел бы следовать основным правилам, которые должны содержать не менее восьми символов и хотя бы один номер и один символ. Я был бы признателен за правильное направление, большое спасибо!Java Web Application Создать пользователя, Смягчить слабые пароли

+2

Посмотреть второй ответ на этот http://stackoverflow.com/questions/3802192/regexp-java-for-password-validation Надежда это помогу – Su0011

ответ

0

Два решения:

1.) Вы можете использовать регулярные выражения для требований пароля и сравните пароль, введенный пользователем с этим выражением, если шаблон пароля соответствует регулярному выражению, то вы можете позволить пользователю register иначе вы можете сообщить об ошибке.

2.) Когда пользователь вводит пароль, вы можете вызвать функцию, которая будет проверять: a. пароль содержит хотя бы одно число. b. пароль содержит хотя бы один специальный символ. c. это длина введенного пользователем пароля, превышающая минимальную длину и т. д.

Эта функция вернет true или false в зависимости от того, принят ли пароль или нет.

Надеюсь, это вам поможет.

0

Вы можете проверить введенный пароль пользователя с помощью этого 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 
} 
Смежные вопросы