Categorygithub.com/shankar524/password-generator
modulepackage
0.0.0-20221030070045-a0f61b240a3c
Repository: https://github.com/shankar524/password-generator.git
Documentation: pkg.go.dev

# README

Coverage Status Go Report Card License: MIT

password-generator

password-generator is command line interface app to generate random password. This app can be used to generate any random text from provided rules.

requirement

Should have go installed. Go can be downloaded from here.

App usage

  • Clone repo:
git clone  [email protected]:shankar524/password-generator.git
cd password-generator
go mod download
  • build
go build -o ./pwd-gen .

or

make build
  • check if successfully build
./pwd-gen version
  • generate random text
    • without rules(copies text to clipboard)
./pwd-gen g
- with rules
./pwd-gen g --numbers=7 --symbols=2 --down=2 --up=3 --copy=false

or

./pwd-gen g -n=7 -s=2 -d=2 -u=3 -c=false
  • help?
./pwd-gen help

Available Flags

FlagShorttypeDefault valueMeaning
symbolsnumber0number of symbols to generate in return text
upunumber4number of upper case letters to generate in return text
downdnumber3number of down case letters to generate in return text
numbernnumber0number of numerical digits to generate in return text
copycbooleantruecopy generated text to clipboard.If set false then prints text in console itself

Package usage

This package can also be used as common library to generate random text from provided text rule. text.TextBuilder implements text.Builder interface which include following two function to help build text rule

  • AddRule(TextRule) Builder
  • Build() (Generator, error) Also text.text implements text.Generator interface which allows us to generate text
  • Generate() string

Sample code usage:

  import(
    "github.com/shankar524/password-generator/src/text"
  )
  // create textBuilder
  textBuilder := text.TextBuilder{}
  textBuilder.AddRule(text.TextRule{For: text.LOWERCASE, Length: 6})
  textBuilder.AddRule(text.TextRule{For: text.NUMBER, Length: 2})
  textBuilder.AddRule(text.TextRule{For: text.UPPERCASE, Length: 2})
  textBuilder.AddRule(text.TextRule{For: text.SYMBOL, Length: 2})

  generator, err:= textBuilder.Build()
  if err!= nil {
    fmt.printf("error creating text generator. Error: %s", err.Error())
    return
  }

  fmt.Print(generator.Generate())

  // generate default generator
  defaultBuilder := text.TextBuilder{}
  defaultGenerator, _ := defaultBuilder.Build()
  fmt.Print(defaultGenerator.Generate())

# Packages

No description provided by the author