私は Android アプリを開発しています。私のタスクの 1 つは、パスワードの強度をチェックすることです。
パスワードの強度をチェックする組み込み関数はありますか?
私は Android アプリを開発しています。私のタスクの 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();
}
http://code.google.com/p/vt-middleware/wiki/vtpasswordなどの外部ライブラリが必要なようです。
または、長さ、文字などをチェックし、それに基づいてさまざまなものを出力するなど、コードを作成するのは簡単です。
ユーザーが 10 文字のパスワードといくつかの大文字を持っているとしたら、これに基づいてパスワード強度パラメーターを増やして、より複雑なパスワードに報いることができます。しきい値は自分で設定できます。
外部ライブラリを使用したくない場合..自分で確認できます..次のようなもの:
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
}
}