Skip to content

Check password strength (Weak, Medium, Strong, Very Strong). Setting optional requirements by required length, with at least 1 special character, numbers and letters in uppercase or lowercase.

License

zeoflow/password-strength

Repository files navigation

Password Strength for Android

Intro

Password Strength is an Android Library that checks for a password strength.

Getting Started

For information on how to get started with Password Strength, take a look at our Getting Started guide.

Submitting Bugs or Feature Requests

Bugs or feature requests should be submitted at our GitHub Issues section.

How does it work?

1. Depend on our library

Password Strength for Android is available through Google's Maven Repository. To use it:

  1. Open the build.gradle file for your application.

  2. Make sure that the repositories section includes Google's Maven Repository google(). For example:

      allprojects {
        repositories {
          google()
          jcenter()
        }
      }
  3. Add the library to the dependencies section:

      dependencies {
        // ...
        implementation 'com.zeoflow:password-strength:<version>'
        // ...
      }

2. Activity/Fragment Class

MainActivity.java

public class MainActivity extends BindAppActivity<ActivityMainBinding, MainViewBinding>
{
    //..
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState)
    {
        //..

        // Create a map of excluded words on a per-user basis using a hypothetical "User" object that contains this info
        List<Dictionary> dictionaryList = ConfigurationBuilder.getDefaultDictionaries(this);
        dictionaryList.add(new DictionaryBuilder(this)
            .setDictionaryName("exclude")
            .setExclusion(true)
            .addWord("word", 0)
            .createDictionary());

        // Create our configuration object and set our custom minimum
        // entropy, and custom dictionary list
        Configuration configuration = new ConfigurationBuilder()
            .setMinimumEntropy(40d)
            .setDictionaries(dictionaryList)
            .createConfiguration(this);

        // Create our PasswordChecker object with the configuration we built
        PasswordChecker passwordChecker = new PasswordChecker(configuration);

        // passwordStrength is of PasswordType type
        // PasswordType can be (VERY_WEAK, WEAK, MEDIUM, STRONG, VERY_STRONG)
        PasswordType passwordStrength = passwordChecker.estimate("asdasdssd").getStrength();

        //..
    }
    //..
}

License

Copyright 2020 ZeoFlow

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Check password strength (Weak, Medium, Strong, Very Strong). Setting optional requirements by required length, with at least 1 special character, numbers and letters in uppercase or lowercase.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published