{"id":22374524,"url":"https://github.com/kevcui/password-meter","last_synced_at":"2025-04-12T23:24:29.378Z","repository":{"id":132198040,"uuid":"290157047","full_name":"KevCui/password-meter","owner":"KevCui","description":":lock_with_ink_pen: A password meter evaluates the strength of passwords","archived":false,"fork":false,"pushed_at":"2021-05-10T10:25:53.000Z","size":38,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T17:40:16.338Z","etag":null,"topics":["password","password-meter","password-safety","password-strength","security","security-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KevCui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-25T08:20:24.000Z","updated_at":"2025-01-05T22:44:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"c6090ce8-33f3-458e-adee-00c762799f20","html_url":"https://github.com/KevCui/password-meter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevCui%2Fpassword-meter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevCui%2Fpassword-meter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevCui%2Fpassword-meter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevCui%2Fpassword-meter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KevCui","download_url":"https://codeload.github.com/KevCui/password-meter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248644657,"owners_count":21138603,"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":["password","password-meter","password-safety","password-strength","security","security-tools"],"created_at":"2024-12-04T21:17:23.543Z","updated_at":"2025-04-12T23:24:29.371Z","avatar_url":"https://github.com/KevCui.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passmeter\n\n\u003e A password meter evaluates the strength of passwords.\n\n## Table of Contents\n\n- [Features](#features)\n- [Dependency](#dependency)\n- [Usage](#usage)\n  - [Example](#example)\n  - [Common password list](#common-password-list)\n- [Credits](#credits)\n- [One more thing](#one-more-thing)\n\n## Features\n\n- Offline, no worry about your password collected by certain evil web service\n- Simple and colorful output for better result analysis\n- Flexible to adjust password rules/requirements in script\n- Easy to be integrated into any CI processes because of CLI script\n\n## Dependency\n\n- [Rich](https://github.com/willmcgugan/rich)\n\n```bash\n$ pip install rich\n```\n\n## Usage\n\n```\nusage: passmeter.py [-h] [-p PASSWORD] [-s] [-c]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PASSWORD, --password PASSWORD\n                        Password\n  -s, --score-only      Only show score number as output\n  -c, --complexity-only\n                        Only show complexity text as output\n```\n\n### Example\n\n```\n$ ./passmeter.py -p thisismypassword\nVery Weak\nScore: 15%\nComplexity: Very Weak\n+--------------------------------------------------------------+\n|                               | Rate         | Count | Bonus |\n|-------------------------------+--------------+-------+-------|\n| Number of Characters          | +(n*4)       |    16 |   +64 |\n| Uppercase Letters             | +((len-n)*2) |     0 |     0 |\n| Lowercase Letters             | +((len-n)*2) |    16 |     0 |\n| Numbers                       | +(n*4)       |     0 |     0 |\n| Symbols                       | +(n*6)       |     0 |     0 |\n| Middle Numbers of Symbols     | +(n*2)       |     0 |     0 |\n| Requirements                  | +(n*2)       |     2 |     0 |\n| Letters Only                  | -n           |    16 |   -16 |\n| Numbers Only                  | -n           |     0 |     0 |\n| Repeat Characters             | -?           |     6 |    -3 |\n| Consecutive Uppercase Letters | -(n*2)       |     0 |     0 |\n| Consecutive Lowercase Letters | -(n*2)       |    15 |   -30 |\n| Consecutive Numbers           | -(n*2)       |     0 |     0 |\n| Sequential Letters (3+)       | -(n*3)       |     0 |     0 |\n| Sequential Numbers (3+)       | -(n*3)       |     0 |     0 |\n| Sequential Symbols (3+)       | -(n*3)       |     0 |     0 |\n+--------------------------------------------------------------+\n```\n\nAlthough `-p` exists as an option, it's recommended to avoid using it with your real password. The reason is that Shell commands including all paraders are logged in Shell command execution history, which might cause the trouble to expose your real password. Instead, run `./passmeter.py` and enter password in prompt:\n\n```bash\n$ ./passmeter.py\nPassword:\n```\n\n### Common password list\n\n`./passmeter.py` checks password against `./commonpassword.list`. Once the entered password is found in the list, all other checks will be aborted. The default integrated list is fetched from [danielmiessler/SecLists](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10-million-password-list-top-1000.txt). Feel free to customize `./commonpassword.list` according to your needs, put any passwords in the list one per line.\n\n```bash\n$ ./passmeter.py -p 123456\nCommon password in ./commonpassword.list\n```\n\n## Credits\n\nThe original code of this project is ported from web app [Password Meter](http://www.passwordmeter.com/)\n\n## One more thing\n\nWant to generate very strong passwords? Check this project :point_right: [passgen](https://github.com/KevCui/passgen)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevcui%2Fpassword-meter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevcui%2Fpassword-meter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevcui%2Fpassword-meter/lists"}