module Pwgen
Overview
Pwgen is a secure password generator library and CLI tool.
It provides two password generation strategies:
- Phoneme-based: Generates pronounceable passwords using phonetic rules
- Random: Generates cryptographically secure random passwords
Example:
# Generate a pronounceable password
generator = Pwgen::PhonemeGenerator.new
password = generator.generate(12, Pwgen::Feature::Digits | Pwgen::Feature::Uppers, nil)
# Generate a random password
generator = Pwgen::RandomGenerator.new
password = generator.generate(16, Pwgen::Feature::Digits | Pwgen::Feature::Uppers | Pwgen::Feature::Symbols, nil)
Defined in:
pwgen.crpwgen/cli.cr
pwgen/constants.cr
pwgen/generator.cr
pwgen/options.cr
pwgen/phoneme_generator.cr
pwgen/random_generator.cr
pwgen/random_source.cr
pwgen/sha1_source.cr
Constant Summary
-
AMBIGUOUS =
"B8G6I1l0OQDS5Z2" -
DIGITS =
"0123456789" -
LOWERS =
"abcdefghijklmnopqrstuvwxyz" -
REPOURL =
"https://github.com/kojix2/pwgen.cr" -
SYMBOLS =
"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" -
UPPERS =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" -
VERSION =
{{ (`shards version /home/runner/work/pwgen.cr/pwgen.cr/src`).chomp.stringify }} -
VOWELS =
"01aeiouyAEIOUY"
Class Method Summary
- .ambiguous?(char : Char) : Bool
- .contains_any?(text : String, characters : String) : Bool
- .die(message : String, code : Int32 = 1)
- .next_number(max : Int32) : Int32
- .number_source=(proc : NumberProc)
- .reset_number_source
- .vowel_char?(char : Char) : Bool
- .with_number_source(proc : NumberProc, &)