Crate rpg_util

Crate rpg_util 

Source
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§

GenerationParams
Parameters for password generation
PasswordArgs
Arguments structure for password generation

Enums§

PasswordError
Custom error type for password generation
PatternChar
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