-x, -f, env vars, prepping for hashing
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/jessevdk/go-flags"
|
||||
"gopkg.in/yaml.v3"
|
||||
"r00t2.io/pwgen/pwgenerator"
|
||||
)
|
||||
|
||||
@@ -17,6 +20,8 @@ func main() {
|
||||
var err error
|
||||
var genOpts *pwgenerator.GenOpts
|
||||
var passwds []string
|
||||
var pwc *pwgenerator.PwCollection
|
||||
var b []byte
|
||||
|
||||
if _, err = flags.Parse(&a); err != nil {
|
||||
switch flagsErr := err.(type) {
|
||||
@@ -30,6 +35,10 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
if a.ExplicitLen != 0 {
|
||||
a.MinLen = a.ExplicitLen
|
||||
a.MaxLen = a.ExplicitLen
|
||||
}
|
||||
genOpts = &pwgenerator.GenOpts{
|
||||
Alpha: !a.NoAlpha,
|
||||
Numeric: !a.NoNum,
|
||||
@@ -56,12 +65,31 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
if passwds, err = genOpts.Generate(); err != nil {
|
||||
log.Panicln(err)
|
||||
if strings.TrimSpace(a.Format) != "" {
|
||||
if pwc, err = genOpts.GenerateCollection(nil); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
switch a.Format {
|
||||
case "json":
|
||||
if b, err = json.MarshalIndent(pwc, "", " "); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
fmt.Println(string(b))
|
||||
case "yaml":
|
||||
if b, err = yaml.Marshal(pwc); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
fmt.Println(string(b))
|
||||
case "xml":
|
||||
if b, err = xml.MarshalIndent(pwc, "", " "); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
fmt.Println(string(b))
|
||||
}
|
||||
} else {
|
||||
if passwds, err = genOpts.Generate(); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
fmt.Println(strings.Join(passwds, "\n"))
|
||||
}
|
||||
|
||||
fmt.Println(strings.Join(passwds, "\n"))
|
||||
|
||||
// fmt.Printf("%#v\n", a)
|
||||
// fmt.Printf("%#v\n", genOpts)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user