Expand description
§RPG - Rust Password Generator
A fast, secure, and customizable password generator library.
§Features
- Customizable character sets
- Character exclusion with range support
- Minimum character type requirements
- Pattern-based generation
- Uniform character distribution
§Example
use rpg_util::{GenerationParams, PasswordArgs, build_char_set, generate_passwords};
use rand::Rng;
let args = PasswordArgs {
capitals_off: false,
numerals_off: false,
symbols_off: false,
exclude_chars: vec![],
include_chars: None,
min_capitals: None,
min_numerals: None,
min_symbols: None,
pattern: None,
length: 16,
password_count: 1,
};
let char_set = build_char_set(&args).unwrap();
let mut rng = rand::rng();
let gen_params = rpg_util::GenerationParams {
length: 16,
count: 1,
min_capitals: None,
min_numerals: None,
min_symbols: None,
pattern: None,
};
let passwords = rpg_util::generate_passwords(&char_set, &gen_params, &mut rng);Structs§
- Generation
Params - Parameters for password generation
- Password
Args - Arguments structure for password generation
Enums§
- Password
Error - Custom error type for password generation
- Pattern
Char - Pattern character types
Functions§
- build_
char_ set - Builds the character set based on command-line arguments Returns a vector of valid characters that can be used for password generation
- calculate_
entropy - Calculates password entropy in bits
- column_
count - Calculates the number of columns for table output
- generate_
passwords - Generates passwords using the provided character set and RNG
- parse_
exclude_ chars - Parses character exclusion strings, expanding ranges like “a-z” or “0-9” Returns a vector of individual characters to exclude
- parse_
pattern - Parses a pattern string like “LLLNNNSSS” into PatternChar vector
- print_
columns - Prints passwords in column format
- validate_
args - Validates command-line arguments