Password (not passphrase) generator shell script. Designed to be easy, simple, portable, and standards-compliant (not just POSIX).
Important
The CLI API is unstable!
I made this because I've noticed the power of tr, and I didn't like that many pw-gens lack transparency in how they work (looking at you, Avast) and flexibility (looking at you Firefox). This generator aims to be flexible enough while being constrained to sensible standards.
I've also extended the POSIX char-classes to include handy aliases (e.g. num = digit), and even charsets designed to reduce confusability (such as B32)
Each charset is designed to satisfy a real use-case (except punct, only demented people use that):
lower|upper|alpha: legacy systemsdigit: PINsalnum: not-so-legacy systems with braindead policies/requirementslonum: keyboard wear-leveling, and for lazy humans who hate modifier keyshex|xdigit: WPA. Avoids KDF overhead when length is 64.b32: reduce glyph confusability when rendering and readinggraph|print: maximum entropy density, ideal for password managers
If you want to generate a master key, use a passphrase generator, not this. You won't remember a random key.