A Python-based tool to generate high-entropy passwords using Leet substitutions and entropy optimization.
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.
- 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.
-
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
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
| 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 |
-
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
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
To ensure the project works as intended, you can run the test suite:
-
Install
pytest:pip install pytest
-
Run Tests:
pytest tests/
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.
This project is licensed under the MIT License. See the LICENSE file for details.
For issues, feature requests, or questions, please create an issue on the GitHub repository.
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.