2

私は Android アプリを開発しています。私のタスクの 1 つは、パスワードの強度をチェックすることです。

パスワードの強度をチェックする組み込み関数はありますか?

4

3 に答える 3

1

質問に答えるために、これを行う Android 関数はありません。Mkyong が彼のブログで提案したように、最も近い最良の方法は正規表現を使用することです。

private Pattern pattern;
      private Matcher matcher;

      private static final String PASSWORD_PATTERN = 
              "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})";

      public PasswordValidator(){
          pattern = Pattern.compile(PASSWORD_PATTERN);
      }

      /**
       * Validate password with regular expression
       * @param password password for validation
       * @return true valid password, false invalid password
       */
      public boolean validate(final String password){

          matcher = pattern.matcher(password);
          return matcher.matches();

      }
于 2015-12-05T21:46:14.667 に答える
0

http://code.google.com/p/vt-middleware/wiki/vtpasswordなどの外部ライブラリが必要なようです。

または、長さ、文字などをチェックし、それに基づいてさまざまなものを出力するなど、コードを作成するのは簡単です。

ユーザーが 10 文字のパスワードといくつかの大文字を持っているとしたら、これに基づいてパスワード強度パラメーターを増やして、より複雑なパスワードに報いることができます。しきい値は自分で設定できます。

于 2012-12-19T17:01:55.727 に答える
0

外部ライブラリを使用したくない場合..自分で確認できます..次のようなもの:

   public void onSubmitClicked(View v) 
    { 
        String pass = passwordEditText.getText().toString(); 
        if(TextUtils.isEmpty(pass) || pass.length < [YOUR MIN LENGTH]) 
        { 
            passwordEditText.setError("You must more characters in your password"); 
            return; 
        }
        if(....){
              // do other controls here
        }


    }
于 2012-12-19T17:05:21.083 に答える