passwords-package
Password Generator and Strength Checker python package
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Repository
Password Generator and Strength Checker python package
Basic Info
- Host: GitHub
- Owner: GreyTeamToolbox
- License: mit
- Language: Python
- Default Branch: master
- Size: 143 KB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
Overview
THIS IS A WORK IN PROGRESS AND IS NOT YET READY FOR USE
This script is designed to generate secure passwords and evaluate their strength. It calculates password strength based on entropy, character variety, and rule-based penalties, and includes optional dictionary checks for common passwords. It can also analyze passwords from a file or assess the strength of user-provided passwords.
Features
- Password Generation: Generate random, secure passwords based on customizable character policies.
- Strength Evaluation: Check the strength of passwords based on entropy and rule-based criteria.
- Batch Verification: Verify the strength of multiple passwords from a file.
- Custom Dictionary Support: Use a custom dictionary to check for common or weak passwords.
- Detailed Reporting: Get detailed feedback and an estimated crack time for each password on both CPU and GPU.
Requirements
- Python 3.6+
- tabulate library: Install via pip
bash
pip install tabulate
Usage
The script provides several options for generating passwords, checking strength, and analyzing passwords from a file. Below are examples of each usage mode.
1. Generate Passwords
Generate a specified number of passwords of a given length:
bash
python password_script.py -l 16 -c 5
-l,--length: Specify the password length (default: 16).-c,--count: Specify the number of passwords to generate (default: 1).
2. Verify a Specific Password
Check the strength of a specific password:
bash
python password_script.py --verify "YourPassword123!"
3. Generate and Verify Passwords
Generate passwords and then evaluate their strength:
bash
python password_script.py -l 16 -c 5 --verify-generated
4. Verify Passwords from a File
Check the strength of each password listed in a file:
bash
python password_script.py --file passwords.txt
The passwords.txt file should contain one password per line.
5. Use a Custom Dictionary
Provide a custom dictionary file for password strength checking:
bash
python password_script.py --verify "password" --dictionary custom_dict.txt
6. Save Results to a File
Save generated passwords or verification results to a specified file:
bash
python password_script.py -l 16 -c 5 --verify-generated --save results.txt
Output
The output will display each password's strength information in a table format with the following columns:
- Password: The generated or provided password.
- Strength: The classification of password strength (Weak, Moderate, Strong, Very Strong).
- Entropy (bits): The calculated entropy of the password.
- Score: The password’s strength score.
- Score (%): The percentage of the maximum score achieved.
- Crack Time (CPU): Estimated time to crack the password using a CPU.
- Crack Time (GPU): Estimated time to crack the password using a GPU.
Example Output
plaintext
+-------------------------------+-------------+-------------------+----------+-------------+------------------------+-------------------------+
| Password | Strength | Entropy (bits) | Score | Score (%) | Crack Time (CPU) | Crack Time (GPU) |
+-------------------------------+-------------+-------------------+----------+-------------+------------------------+-------------------------+
| thisis another random password| Weak | 141.01 | 50 | 50.00% | 89.21 septillion years | 892.06 sextillion years |
+-------------------------------+-------------+-------------------+----------+-------------+------------------------+-------------------------+
Configuration
The script's configuration includes default values for password policies and scoring:
- Password Policies: Customize policies such as character types (uppercase, lowercase, numbers, special characters), length bonuses, and penalties.
- Scoring Criteria: Adjust the scoring based on password length, character variety, entropy, and rule-based penalties.
These settings can be modified in the Config class in the script.
Error Handling
- File Not Found: If the specified file or dictionary file cannot be found, a warning is printed, and the script falls back to default settings.
- Empty Character Set: If no character type is enabled for password generation, an error is raised.
- Save Errors: If an error occurs while saving results, a message is displayed with details about the issue.
Owner
- Name: Grey Team Toolbox
- Login: GreyTeamToolbox
- Kind: organization
- Email: github@wolfsoftware.com
- Website: https://wolfsoftware.com
- Twitter: wolfsoftware
- Repositories: 1
- Profile: https://github.com/GreyTeamToolbox
A collection of neutral security related tools. Created by Wolf Software.
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: Password Generator and Strength Checker
abstract: Password Generator and Strength Checker
type: software
version: 0.1.0
date-released: 2024-10-11
repository-code: https://github.com/GreyTeamToolbox/passwords-package
keywords:
- "Wolf Software"
- "Software"
license: MIT
authors:
- family-names: "Wolf"
orcid: "https://orcid.org/0009-0007-0983-2072"
GitHub Events
Total
- Watch event: 1
- Delete event: 59
- Issue comment event: 84
- Push event: 53
- Pull request review event: 62
- Pull request event: 119
- Create event: 59
Last Year
- Watch event: 1
- Delete event: 59
- Issue comment event: 84
- Push event: 53
- Pull request review event: 62
- Pull request event: 119
- Create event: 59
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 43
- Average time to close issues: N/A
- Average time to close pull requests: 5 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.05
- Merged pull requests: 26
- Bot issues: 0
- Bot pull requests: 43
Past Year
- Issues: 0
- Pull requests: 43
- Average time to close issues: N/A
- Average time to close pull requests: 5 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.05
- Merged pull requests: 26
- Bot issues: 0
- Bot pull requests: 43
Top Authors
Issue Authors
Pull Request Authors
- dependabot[bot] (52)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- citation-file-format/cffconvert-github-action 4cf11baa70a673bfdf9dad0acc7ee33b3f4b6084 composite
- ruby/setup-ruby 7bae1d00b5db9166f4f0fc47985a3a5702cb58f0 composite
- Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- github/codeql-action/analyze a57c67b89589d2d13d5ac85a9fc4679c7539f94c composite
- github/codeql-action/autobuild a57c67b89589d2d13d5ac85a9fc4679c7539f94c composite
- github/codeql-action/init a57c67b89589d2d13d5ac85a9fc4679c7539f94c composite
- Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
- Mattraks/delete-workflow-runs 39f0bbed25d76b34de5594dceab824811479e5de composite
- dependabot/fetch-metadata dbb049abf0d677abbd7f7eee0375145b417fdd34 composite
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- actions/setup-node 0a44ba7841725637a19e28fa30b79a866c81b0a6 composite
- ruby/setup-ruby 7bae1d00b5db9166f4f0fc47985a3a5702cb58f0 composite
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- Bullrich/generate-release-changelog 6b60f004b4bf12ff271603dc32dbd261965ad2f2 composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
- softprops/action-gh-release c062e08bd532815e2082a85e87e3ef29c3e6d191 composite
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- Bullrich/generate-release-changelog 6b60f004b4bf12ff271603dc32dbd261965ad2f2 composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
- softprops/action-gh-release c062e08bd532815e2082a85e87e3ef29c3e6d191 composite
- actions/first-interaction 34f15e814fe48ac9312ccf29db4e74fa767cbab7 composite
- Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
- otto-de/purge-deprecated-workflow-runs 31a4e821d43e9a354cbd65845922c76e4b4b3633 composite
- ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- actions/setup-go 0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 composite
- actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
- actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
- zgosalvez/github-actions-ensure-sha-pinned-actions 40ba2d51b6b6d8695f2b6bd74e785172d4f8d00f composite
- Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
- actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
- tabulate ==0.9.0