{"id":13604425,"url":"https://github.com/infinum/android-complexify","last_synced_at":"2025-10-05T08:30:46.895Z","repository":{"id":52720473,"uuid":"64830061","full_name":"infinum/android-complexify","owner":"infinum","description":"An Android library which makes checking the quality of user's password a breeze.","archived":true,"fork":false,"pushed_at":"2023-12-18T09:29:06.000Z","size":188,"stargazers_count":113,"open_issues_count":0,"forks_count":10,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-01-20T00:43:43.913Z","etag":null,"topics":["android","android-development","android-library","complexify","edittext","open-source","password","password-strength"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infinum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-08-03T08:41:53.000Z","updated_at":"2023-12-18T09:29:44.000Z","dependencies_parsed_at":"2024-01-07T06:59:52.233Z","dependency_job_id":null,"html_url":"https://github.com/infinum/android-complexify","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinum%2Fandroid-complexify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinum%2Fandroid-complexify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinum%2Fandroid-complexify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinum%2Fandroid-complexify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infinum","download_url":"https://codeload.github.com/infinum/android-complexify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235378530,"owners_count":18980464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-development","android-library","complexify","edittext","open-source","password","password-strength"],"created_at":"2024-08-01T19:00:45.437Z","updated_at":"2025-10-05T08:30:41.596Z","avatar_url":"https://github.com/infinum.png","language":"Java","funding_links":[],"categories":["Validation","Java"],"sub_categories":[],"readme":"# Deprecated\nThis library is no longer supported and will not receive any more updates.\n\n# android-complexify\n\nAndroid port of Dan Palmers's [jquery.complexify.js](https://github.com/danpalmer/jquery.complexify.js/).\n\n## Download\n\nUse Gradle:\n\n```gradle\nrepositories {\n  jcenter()\n}\n\ndependencies {\n  compile 'co.infinum:complexify-android:2.0.1'\n}\n```\n\n## Usage\n\n``` java\n\nEditText editText = (EditText) findViewById(R.id.editText); // your editText where you want to check password complexity as user writes\n\nComplexify complexify = new Complexify(editText, new ComplexifyListener() {\n    @Override\n    public void onSuccess(boolean isValid, double complexity) {\n        // isValid is true if password is valid, false otherwise\n        // complexity is number form range [0.0, 100.0] where greater number represents greater complexity\n    }\n});\n\n```\n\n## Configuration\n\nYou can override the default configuration by using setters:\n\n``` java\n\nsetBanMode(ComplexifyBanMode banMode) // use strict (don't allow substrings of banned passwords) or loose (only ban exact matches) comparisons for banned passwords. (default: ComplexifyBanMode.STRICT)\n\nsetExecuteMode(ComplexifyExecuteMode executeMode) // defines whether execution is synchronous or asynchronous. (default: ComplexifyExecuteMode.SYNC)\n\nsetStrengthScaleFactor(int strengthScaleFactor) // scale the required password strength (higher numbers require a more complex password) (default: 1)\n\nsetMinimumChars(int minimumChars) // the minimum acceptable password length (default: 8)\n\nsetBanList(String[] banList) // array of banned passwords (default: Generated from 500 worst passwords and 370 Banned Twitter lists found \u003ca href=\"http://www.skullsecurity.org/wiki/index.php/Passwords\"\u003ehere\u003c/a\u003e)\n\n```\n\n## License\n\nThis code is distributed under the WTFPL v2 licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinum%2Fandroid-complexify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfinum%2Fandroid-complexify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinum%2Fandroid-complexify/lists"}