module Pwgen

Overview

Pwgen is a secure password generator library and CLI tool.

It provides two password generation strategies:

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.cr
pwgen/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

Class Method Detail

def self.ambiguous?(char : Char) : Bool #

[View source]
def self.contains_any?(text : String, characters : String) : Bool #

[View source]
def self.die(message : String, code : Int32 = 1) #

[View source]
def self.next_number(max : Int32) : Int32 #

[View source]
def self.number_source=(proc : NumberProc) #

[View source]
def self.reset_number_source #

[View source]
def self.vowel_char?(char : Char) : Bool #

[View source]
def self.with_number_source(proc : NumberProc, &) #

[View source]