Android中的密码强度检查器

时间:2011-03-03 06:39:08

标签: android

我们如何在Android中实施密码强度检查器?

1 个答案:

答案 0 :(得分:12)

这似乎有效:

//ASSERT password not null
    private float getRating(String password) throws IllegalArgumentException {
        if (password == null) {throw new IllegalArgumentException();}
        int passwordStrength = 0;    
        if (password.length() > 5) {passwordStrength++;} // minimal pw length of 6
        if (password.toLowerCase()!= password) {passwordStrength++;} // lower and upper case
        if (password.length() > 8) {passwordStrength++;} // good pw length of 9+
        int numDigits= Utilities.getNumberDigits(password);
        if (numDigits > 0 && numDigits != password.length()) {passwordStrength++;} // contains digits and non-digits
        return (float)passwordStrength;
}     

公用事业类

public static int getNumberDigits(String inString){
          if (isEmpty(inString)) {
              return 0;
          }
          int numDigits= 0;
          int length= inString.length();
          for (int i = 0; i < length; i++) {
              if (Character.isDigit(inString.charAt(i))) {
                  numDigits++; 
              }
          }
          return numDigits; 
      }

  public static boolean isEmpty(String inString) {
      return inString == null || inString.length() == 0;
  }