Crates.io | passforge |
lib.rs | passforge |
version | 0.1.1 |
source | src |
created_at | 2024-09-24 19:52:51.000621 |
updated_at | 2024-09-25 14:34:49.470506 |
description | A robust and flexible CLI password generator. |
homepage | |
repository | https://github.com/RakaPKS/passforge |
max_upload_size | |
id | 1385626 |
size | 197,173 |
PassForge is a robust and flexible command-line interface (CLI) password generation tool built with Rust. It allows users to create secure passwords and passphrases with various customization options.
Generator
and StrengthEvaluator
traitsTo install PassForge, you need to have Rust and Cargo installed on your system. If you don't have them installed, you can get them from rustup.rs.
Once you have Rust and Cargo installed, you can build and install PassForge using the following commands:
git clone https://github.com/RakaPKS/passforge.git
cd passforge
cargo install --path .
This will install the passforge
binary in your Cargo bin directory.
Here are some examples of how to use PassForge:
Generate a single password with default settings:
passforge
Generate a password with a specific length:
passforge --length 20
Generate a password without symbols:
passforge --no-symbols
Generate multiple passwords:
passforge --count 5
Generate a passphrase:
passforge --passphrase
Generate a passphrase with custom word count and separator:
passforge --passphrase --words 5 --separator "_"
Use a preset configuration:
passforge --preset strong
Evaluate the strength of generated passwords:
passforge --evaluate-strength
For a full list of options, run:
passforge --help
PassForge allows for extensive configuration through command-line arguments. Here are the main configuration options:
--length
or -l
: Set the password length (default: 18)--max-length
: Set the maximum password length (for range-based generation)--count
or -c
: Number of passwords to generate (default: 1)--no-capitals
: Exclude uppercase letters--no-numbers
: Exclude numbers--no-symbols
: Exclude symbols--passphrase
or -p
: Generate a passphrase instead of a password--words
or -w
: Number of words in the passphrase (default: 4)--separator
: Separator for words in the passphrase (default: "-")--word-list
: Path to a custom word list file for passphrase generation--evaluate-strength
or -e
: Show password strength evaluation--preset
: Use a preset configuration (choices: Weak, Average, Strong)PassForge is built with a modular architecture, making it easy to extend and maintain. The main components are:
Generator
trait: Defines the interface for password and passphrase generationStrengthEvaluator
trait: Defines the interface for password strength evaluationPasswordGenerator
and PassphraseGenerator
: Implement the Generator
traitZxcvbnAnalysis
: Implements the StrengthEvaluator
trait using the zxcvbn algorithmTo run the tests:
cargo test
To run the benchmarks:
cargo bench
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.