passwords-package

Password Generator and Strength Checker python package

https://github.com/greyteamtoolbox/passwords-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
Last synced: 6 months ago · JSON representation ·

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
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Codeowners Security

README.md

GreyTeamToolbox logo
Github Build Status License Created
Release Released Commits since release

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

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
dependabot: dependencies (52) dependabot: ecosystem : github actions (52) dependabot: auto approve (38) dependabot: manual merge (3) resolution: closed (1) state: stale (1)

Dependencies

.github/workflows/cicd.yml actions
  • ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
  • actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
  • actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
.github/workflows/citation-validation.yml actions
  • ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
  • actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
  • citation-file-format/cffconvert-github-action 4cf11baa70a673bfdf9dad0acc7ee33b3f4b6084 composite
  • ruby/setup-ruby 7bae1d00b5db9166f4f0fc47985a3a5702cb58f0 composite
.github/workflows/codeql.yml actions
  • 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
.github/workflows/delete-old-workflow-runs.yml actions
  • Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
  • Mattraks/delete-workflow-runs 39f0bbed25d76b34de5594dceab824811479e5de composite
.github/workflows/dependabot.yml actions
  • dependabot/fetch-metadata dbb049abf0d677abbd7f7eee0375145b417fdd34 composite
.github/workflows/document-validation.yml actions
  • ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
  • actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
  • actions/setup-node 0a44ba7841725637a19e28fa30b79a866c81b0a6 composite
  • ruby/setup-ruby 7bae1d00b5db9166f4f0fc47985a3a5702cb58f0 composite
.github/workflows/generate-release.yml actions
  • 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
.github/workflows/generate-test-release.yml actions
  • 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
.github/workflows/greetings.yml actions
  • actions/first-interaction 34f15e814fe48ac9312ccf29db4e74fa767cbab7 composite
.github/workflows/purge-deprecated-workflow-runs.yml actions
  • Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
  • otto-de/purge-deprecated-workflow-runs 31a4e821d43e9a354cbd65845922c76e4b4b3633 composite
.github/workflows/repository-validation.yml actions
  • ActionsToolbox/get-language-versions-action 446919617fd774095b5dd3ed71c39dd3fd0d8f4f composite
  • actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
  • actions/setup-go 0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 composite
  • actions/setup-python f677139bbe7f9c59b41e40162b753c062f5d49a3 composite
.github/workflows/security-hardening.yml actions
  • actions/checkout eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 composite
  • zgosalvez/github-actions-ensure-sha-pinned-actions 40ba2d51b6b6d8695f2b6bd74e785172d4f8d00f composite
.github/workflows/stale.yml actions
  • Gamesight/slack-workflow-status 68bf00d0dbdbcb206c278399aa1ef6c14f74347a composite
  • actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
requirements.txt pypi
  • tabulate ==0.9.0