passgen v0.1.1 Passgen View Source

An opinionated Elixir password generator

Mainly Passgen uses the following pools(characters) to generate a random password:

  • Lowercases a-z
  • Uppercases A-Z
  • Numbers 0-9
  • Specials !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ (Source)

Link to this section Summary

Types

Password generator rules

Functions

Generate a random password by using default options

Generate a random password by given options

Link to this section Types

Specs

createResult() :: {:ok, String.t()} | {:error, Passgen.OptionsError}

Specs

options() :: [
  length: integer(),
  numbers: boolean(),
  symbols: boolean(),
  excludes: list(),
  uppercase: boolean(),
  lowercase: boolean()
]

Password generator rules

  • length: Password length
  • numbers: Includes at-least one number character,
  • symbols: Includes at-least one special character,
  • excludes: Excludes characters from pools,
  • uppercase: Includes at-least one uppercase character,
  • lowercase: Includes at-least one lowercase character,

Link to this section Functions

Specs

create() :: createResult()

Generate a random password by using default options

Specs

create!(options()) :: createResult()

Generate a random password by given options