Skip to main content

A Python-based tool to generate high-entropy passwords using Leet substitutions and entropy optimization.

Project description

entropypass

A Python-based tool to generate high-entropy passwords using Leet substitutions and entropy optimization.

Python Version License

Overview

entropypass is a Python-based CLI tool designed to generate high-entropy passwords for secure authentication. It offers flexibility in generating passwords by specifying entropy levels, input files for bulk processing, and output files for saving generated passwords. This tool is perfect for individuals and developers who prioritize password security and cryptographic robustness.


Features

  • Custom Entropy Levels: Specify entropy levels between 0 and 200 (default: 60).
  • Bulk Processing: Provide an input file containing multiple passwords and generate new passwords for each.
  • Command-Line Interface (CLI): Easy-to-use command-line tool for generating and managing passwords.
  • Output File Support: Save generated passwords directly to a specified file.

Installation

  1. Clone the Repository:

    git clone https://github.com/Tcookie47/entropypass.git
    cd entropypass
    
  2. Install the Package Locally:

    python setup.py install
    
  3. OR Install via pip: If uploaded to PyPI, install with:

    pip install entropypass
    

Usage

Command-Line Interface (CLI)

The tool provides several commands for password generation.

  1. Generate a Password (Default Mode):

    entropypass [-e ENTROPY] <PASSWORD>
    

    Example:

    entropypass -e 75 MySecurePassword
    
  2. Process an Input File:

    entropypass -i <INPUT_FILE> -o <OUTPUT_FILE> [-e ENTROPY]
    

    Example:

    entropypass -i input_passwords.txt -o output_passwords.txt -e 90
    

Flags

Flag Description Default
-e, --entropy Entropy level (0-200). A higher value increases randomness and complexity of the password. 60
-i, --input Path to an input file containing passwords (1 per line). None
-o, --output Path to an output file to save generated passwords. None

Examples

  1. Default Entropy with Password:

    entropypass MySecurePassword
    
  2. Custom Entropy with Password:

    entropypass -e 120 MySecurePassword
    
  3. Bulk Processing with Input and Output Files:

    entropypass -i passwords.txt -o new_passwords.txt -e 80
    

Development

Project Structure

High-Entropy-Password-Generator/
│
├── entropypass/              # Package folder
│   ├── __init__.py           # Makes this a package
│   ├── password_generator.py # Core logic
│   └── cli.py                # CLI implementation
│
├── setup.py                  # Metadata for packaging
├── README.md                 # Documentation
├── requirements.txt          # Dependencies
└── tests/                    # Not implimneted yet

Running Tests

To ensure the project works as intended, you can run the test suite:

  1. Install pytest:

    pip install pytest
    
  2. Run Tests:

    pytest tests/
    

Contributing

We welcome contributions! To get started:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m "Add YourFeature").
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Support

For issues, feature requests, or questions, please create an issue on the GitHub repository.


Acknowledgments

This project was inspired by the need for stronger password management tools. Special thanks to the contributors and the open-source community for their support.

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

entropypass-1.0.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

entropypass-1.0.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file entropypass-1.0.0.tar.gz.

File metadata

  • Download URL: entropypass-1.0.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.6

File hashes

Hashes for entropypass-1.0.0.tar.gz
Algorithm Hash digest
SHA256 176a693b511664d389ec3ed0f9c80f0fd42675472113676efb765be23e2e86d2
MD5 9351b22a0cc49d830d0dc5f1c4bc0648
BLAKE2b-256 a59719b1d0c859013f0c66f16944619b31da2b4c9f38b8adefbe4638fc9645b8

See more details on using hashes here.

File details

Details for the file entropypass-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: entropypass-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.6

File hashes

Hashes for entropypass-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b26fdc47839da46d04387021ae6748c3ff6d9109c0fc08e7a42f7b6ce8e0961
MD5 6db5f08fe6ad1d2b5703ac54fcedde04
BLAKE2b-256 045ea75186a11d4e9b2d16507f71404f648a136ab712ce5113eaa7141ee6c731

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