Pwgen::PhonemeGenerator
Inherits Pwgen::Generator < Reference < Object
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.
Constants
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 methods
Generates a password with the specified parameters.
length: Length of the password to generateflags: Feature flags controlling password characteristicsremove: Optional string of characters to exclude from generation
Returns a String containing the generated password.