برنامه تشخیص رمزعبور قدرتمند با جاوا
در نوشتههای گذشته در ارتباط با گذرواژههای قدرتمند کمی صحبت کردیم. موضوع این بخش بررسی یک کلاس یا برنامهی تحت زبان برنامه نویسی جاوا را داریم که کار بررسی قدرتمند بودن رمزعبور را انجام میدهد.
برنامه تشخیص رمزعبور قدرتمند با جاوا
یک رمز عبور قدرتمند شامل:
- کاراکترهای بیش از 7تا.
- استفاده از کلمات بزرگ و کوچک انگلیسی.
- استفاده از اعداد در رمزعبور.
- استفاده از کاراکترهای ویژه در رمزعبور.
اگر نیاز به تابع بررسی رمزعبور قدرتمند در پی اچ پی را دارید روی این لینک کلیک کنید.
تابع strongPassword.java
public class strongPassword { private String passwordString; public String getPasswordString() { return passwordString; } public void setPasswordString(String passwordString) { this.passwordString = passwordString; } private boolean isEmptyPasswordString() { if(getPasswordString().equals("")) { return true; } else { return false; } } private int lengthPasswordString() { return getPasswordString().length(); } private boolean isUpperCaseCharacter() { int tempCharNum; for (char ch : getPasswordString().toCharArray()) { tempCharNum = Integer.valueOf(ch); if(tempCharNum >= 65 && tempCharNum <= 90) { return true; } else { continue; } } return false; } private boolean isLowerCaseCharacter() { int tempCharNum; for (char ch : getPasswordString().toCharArray()) { tempCharNum = Integer.valueOf(ch); if(tempCharNum >= 97 && tempCharNum <= 122) { return true; } else { continue; } } return false; } private boolean isNumberCharacter() { int tempCharNum; for (char ch : getPasswordString().toCharArray()) { tempCharNum = Integer.valueOf(ch); if(tempCharNum >= 0 && tempCharNum <= 9) { return true; } else { continue; } } return false; } private boolean isSpecialCharacter() { for (char ch : getPasswordString().toCharArray()) { if(String.valueOf(ch).equals("!") || String.valueOf(ch).equals("@") || String.valueOf(ch).equals("#") || String.valueOf(ch).equals("$") || String.valueOf(ch).equals("^") || String.valueOf(ch).equals("%") || String.valueOf(ch).equals("&") || String.valueOf(ch).equals("*") || String.valueOf(ch).equals("(") || String.valueOf(ch).equals(")") || String.valueOf(ch).equals("-") || String.valueOf(ch).equals("_") || String.valueOf(ch).equals("+") || String.valueOf(ch).equals("=") || String.valueOf(ch).equals("|") || String.valueOf(ch).equals("/") || String.valueOf(ch).equals("~")) { return true; } else { continue; } } return false; } public strongPassword() { setPasswordString(""); } public strongPassword(String strongPassword) { setPasswordString(strongPassword); } public int isStrong() { int rank = 0; if(isEmptyPasswordString() == false) { if(isLowerCaseCharacter() == true) { rank++; } if(isUpperCaseCharacter() == true) { rank++; } if(isNumberCharacter() == true) { rank++; } if(isSpecialCharacter() == true) { rank++; } if(lengthPasswordString() < 7) { rank -= 2; if(rank < 0) { rank = 0; } } else { rank++; } } return rank; } }
در کد بالا دو سری توابع public و private داریم:
- توابع public:
- strongPassword: تابع سازنده یا constructor.
- isStrong: بررسی قدرتمند بودن رمزعبور.
- توابع private:
- getPasswordString: تابع geeter برای متغیر passwordString.
- setPasswordString: تابع seeter برای متغیر passwordString.
- isEmptyPasswordString: تابع بررسی خالی بودن متغیر passwordString.
- lengthPasswordString: تابع بدست آوردن اندازهی طول کاراکترهای متغیر passwordString.
- isUpperCaseCharacter: تابعی برای بررسی داشتن حروف بزرگ در رشتهی رمزعبور.
- isLowerCaseCharacter: تابعی برای بررسی داشتن حروف کوچک در رشتهی رمزعبور.
- isNumberCharacter: تابعی برای بررسی داشتن اعداد در رشتهی رمزعبور.
- isSpecialCharacter: تابعی برای بررسی داشتن کارکترهای ویژه در رشتهی رمزعبور.
برای نمونه میتوانید در کلاس Main.java یا هر جای برنامهی خود از کد زیر استفاده کنید و نتیجه را ببنید:
strongPassword st = new strongPassword("Yy12345^!@D!eaaa"); int passwordStrongRank = st.isStrong(); System.out.println("Your Password Level : " + passwordStrongRank);
نتیجهی کد بالا:
Your Password Level :4
از کد بالا میتوانید در کنار برنامههای خود استفاده کنید. کد بالا را از این لینک دریافت کنید.
اگر روشهای بهتری برای انجام اینکار دارید یا این کد را میتوانید کاملتر کنید برای ما ارسال کنید.
ارسال پاسخ