Skip to main content

Password validator and generator CLI tool.

Project description


Logo

QB Generator

Password validator and generator CLI tool.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License

About The Project

My project is a CLI application that aims to validate the strength of passwords, generate random passwords, and create passwords based on user inputs. The idea for this project was inspired by a similar project on Kaggle, which can be found at here. The password generation and validation functions of this application are based on the Microsoft Password Requirements.

(back to top)

Built With

Typer Rich

(back to top)

Dataset

The datasets to check for common passwords and common words are found on this Kaggle project.

Getting Started

This is an example of how you may give instructions on setting up the project locally.

Setting Up Environment

    Python 3.9.13
    OS: Linux or MacOS
    NOTES
    ⚠️ Commands/Scripts for this project are wrote for Linux-based OS. They may not work on Windows machines.

Installation

  1. Clone the repo and change directory to that folder

    git clone https://github.com/NgoQuocBao1010/QB-generator.git
    
  2. Install all project dependencies

    pip install -r requirements.txt
    

(back to top)


Usage

  1. CLI application's usage

    Command Description
    validate Validate password according to Microsoft rules.
    generate Generate a strong password.
    generate-from Generate a password (or multiple passwords) based on a phrase or word provided by the user.

    validate command

    Argument Option Description
    password ARG The password to validate.
    --username, -u OPT The username correspond to password for extra validation.
    --common-pwd OPT Check if the password is similar to other common passwords
    --common-words OPT Check if the password contains most common used words
    --check-all, -y OPT Shortcut to check for both common passwords and common words.
    --ignore-warnings OPT Ignore all warnings.

    generate command

    Argument Option Description
    --length, -l OPT Length for the generated password. Should be more than 8.
    --special-character OPT If True, password will contains special characters.
    --no-copy OPT Avoid save password to clipboard.

    generate-from command

    Argument Option Description
    user_input ARG A quote or words given by the user.
    --add OPT Additional words to add to the generated password without any modification.
    --all, -a OPT Return all the possible generated passwords.
    --pwd-validation OPT Turn on password strength analysis.
    --max-strength OPT Only return the strongest password
  2. Programmatically usage

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License.

(back to top)

Acknowledgments

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

QB_gen-0.0.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

QB_gen-0.0.1-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file QB_gen-0.0.1.tar.gz.

File metadata

  • Download URL: QB_gen-0.0.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for QB_gen-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7edef5468e732c0c3e66feac5cf462bd60c3c93e1fa4fb7272ddcd3c7000fae8
MD5 724a4e5f6ecf855e64aa993cdedff215
BLAKE2b-256 2697cb2367d201494449f84e5bd71bb38f5a7e9d9b6f9d5af8f895579d69c303

See more details on using hashes here.

File details

Details for the file QB_gen-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: QB_gen-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for QB_gen-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed3b857d9c3b9d0be424d8bcc442b2e369a18dee69edabbaa558ed1b3d4f048d
MD5 d34ed1691332205914b47c92e9d9a2cc
BLAKE2b-256 9a1d7826b00a3b640c1f735140c8c64420008b437660e118efbe611aba5a3c63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page