تشخیص قدرت کلمهعبور با زبان جاوا
شاید برای شما جذاب باشد که بدانید به چه روشی قدرت کلمهعبورهایی که شما در سایتها وارد میکنید مورد ارزیابی قرار میگیرد. در قدرت کلمهعبور چندین ملاک از جمله طول کلمهعبور، داشتن حروف کوچک، حروف بزرگ، حروف خاص و عدد وجود دارد. در کد قرار داده شده ما شرط قوی بودن کلمهعبور را داشتن طول بزرگتر مساوی هشت و داشتن تمام شروط بالا میدانیم. البته شما بنا به اهمیت کلمهعبور در برنامه خود میتوانید شرط قوی بودن کلمهعبور را تغییر دهید.
public static String detectPasswordStrength(String password){ boolean hasLetter = false; boolean hasDigit = false; boolean hasLoverCase = false; boolean hasUpperCase = false; boolean hasSpecialCase = false; String loverChars = "abcdefghijklmnopqrstuvwxyz "; String upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String digitChars = "1234567890"; String specialChars = "!@#$%^&*()-+"; for (int i = 0; i < password.length(); i++) { char x = password.charAt(i); String y = String.valueOf(x); if (loverChars.contains(y)) { hasLetter = true; hasLoverCase = true; } else if (upperChars.contains(y)){ hasLetter = true; hasUpperCase = true; } else if (digitChars.contains(y)) { hasDigit = true; } else if (specialChars.contains(y)){ hasSpecialCase = true; } if (hasDigit && hasLetter && hasLoverCase && hasUpperCase && hasSpecialCase){ break; } } if (hasLoverCase && hasUpperCase && hasDigit && hasSpecialCase && password.length() >= 8){ return "strong"; } else if( (hasLoverCase || hasUpperCase) && hasSpecialCase && password.length() >= 6 ){ return "moderate"; } return "weak"; }