2011-03-03 49 views
8

我们如何才能实现密码强度检查器在android中。
请帮助密码强度检查器在android中

+0

可能重复[密码强度检查库(http://stackoverflow.com/questions/3200292/密码强度检查库) – zengr

+0

@zengr我需要在android中实现它。有没有在Android的任何图书馆做到这一点 – MorningGlory

+0

我不是一个Android的家伙,但AFAIK,如果它是一个Java库,你可以在你的Android应用程序中使用它吗? – zengr

回答

10

这似乎工作:

//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; 
    }