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.
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
-
Clone the Repository:
git clone https://github.com/Tcookie47/entropypass.git cd entropypass
-
Install the Package Locally:
python setup.py install
-
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.
-
Generate a Password (Default Mode):
entropypass [-e ENTROPY] <PASSWORD>
Example:
entropypass -e 75 MySecurePassword
-
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
-
Default Entropy with Password:
entropypass MySecurePassword -
Custom Entropy with Password:
entropypass -e 120 MySecurePassword
-
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:
-
Install
pytest:pip install pytest
-
Run Tests:
pytest tests/
Contributing
We welcome contributions! To get started:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m "Add YourFeature"). - Push to the branch (
git push origin feature/YourFeature). - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
176a693b511664d389ec3ed0f9c80f0fd42675472113676efb765be23e2e86d2
|
|
| MD5 |
9351b22a0cc49d830d0dc5f1c4bc0648
|
|
| BLAKE2b-256 |
a59719b1d0c859013f0c66f16944619b31da2b4c9f38b8adefbe4638fc9645b8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b26fdc47839da46d04387021ae6748c3ff6d9109c0fc08e7a42f7b6ce8e0961
|
|
| MD5 |
6db5f08fe6ad1d2b5703ac54fcedde04
|
|
| BLAKE2b-256 |
045ea75186a11d4e9b2d16507f71404f648a136ab712ce5113eaa7141ee6c731
|