class Pwgen::PhonemeGenerator

Overview

Generates pronounceable passwords using phonetic rules.

This generator creates passwords by combining phonetic elements (consonants, vowels, and diphthongs) according to pronunciation rules, making them easier to remember and type.

Defined in:

pwgen/phoneme_generator.cr

Constant Summary

ELEMENTS = [Element.new("a", ElementFlag::Vowel), Element.new("ae", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("ah", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("ai", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("b", ElementFlag::Consonant), Element.new("c", ElementFlag::Consonant), Element.new("ch", ElementFlag::Consonant | ElementFlag::Diphthong), Element.new("d", ElementFlag::Consonant), Element.new("e", ElementFlag::Vowel), Element.new("ee", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("ei", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("f", ElementFlag::Consonant), Element.new("g", ElementFlag::Consonant), Element.new("gh", (ElementFlag::Consonant | ElementFlag::Diphthong) | ElementFlag::NotFirst), Element.new("h", ElementFlag::Consonant), Element.new("i", ElementFlag::Vowel), Element.new("ie", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("j", ElementFlag::Consonant), Element.new("k", ElementFlag::Consonant), Element.new("l", ElementFlag::Consonant), Element.new("m", ElementFlag::Consonant), Element.new("n", ElementFlag::Consonant), Element.new("ng", (ElementFlag::Consonant | ElementFlag::Diphthong) | ElementFlag::NotFirst), Element.new("o", ElementFlag::Vowel), Element.new("oh", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("oo", ElementFlag::Vowel | ElementFlag::Diphthong), Element.new("p", ElementFlag::Consonant), Element.new("ph", ElementFlag::Consonant | ElementFlag::Diphthong), Element.new("qu", ElementFlag::Consonant | ElementFlag::Diphthong), Element.new("r", ElementFlag::Consonant), Element.new("s", ElementFlag::Consonant), Element.new("sh", ElementFlag::Consonant | ElementFlag::Diphthong), Element.new("t", ElementFlag::Consonant), Element.new("th", ElementFlag::Consonant | ElementFlag::Diphthong), Element.new("u", ElementFlag::Vowel), Element.new("v", ElementFlag::Consonant), Element.new("w", ElementFlag::Consonant), Element.new("x", ElementFlag::Consonant), Element.new("y", ElementFlag::Consonant), Element.new("z", ElementFlag::Consonant)]

Phonetic elements used for password generation. Each element has a text representation and flags indicating its type.

Instance Method Summary

Instance methods inherited from class Pwgen::Generator

generate(length : Int32, flags : Feature, remove : String | Nil) : String generate

Instance Method Detail

def generate(length : Int32, flags : Feature, remove : String | Nil) : String #
Description copied from class Pwgen::Generator

Generates a password with the specified parameters.

  • length: Length of the password to generate
  • flags: Feature flags controlling password characteristics
  • remove: Optional string of characters to exclude from generation

Returns a String containing the generated password.


[View source]