summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-05-20 01:33:46 +0200
committerDimitri Sokolyuk <demon@dim13.org>2018-05-20 01:33:46 +0200
commit1f21b6069c68e7a5a7b3036f80fc6ceee9d473c5 (patch)
tree85eae5cb49e6b22b39fe6b15e3fa32b5247423a5
parent0d118dd1dbac992b19b5cef8b58eed2a27836d45 (diff)
...
-rw-r--r--main.go17
1 files changed, 5 insertions, 12 deletions
diff --git a/main.go b/main.go
index a957ea3..3f5efd6 100644
--- a/main.go
+++ b/main.go
@@ -16,8 +16,7 @@ type random interface {
}
type generator struct {
- minWords int
- minLength int
+ words int
separator string
titleWords bool
addNumber bool
@@ -47,23 +46,18 @@ func (g generator) pick(rnd random) string {
func (g generator) generate(rnd random) string {
var v []string
- for i := 0; i < g.minWords; i++ {
+ for i := 0; i < g.words; i++ {
v = append(v, g.pick(rnd))
}
if g.addNumber {
v = append(v, strconv.Itoa(rnd.Intn(10)))
}
- pw := strings.Join(v, g.separator)
- if len(pw) < g.minLength {
- return g.generate(rnd)
- }
- return pw
+ return strings.Join(v, g.separator)
}
func main() {
var g generator
- flag.IntVar(&g.minWords, "words", 6, "min words")
- flag.IntVar(&g.minLength, "length", 30, "min lenght")
+ flag.IntVar(&g.words, "words", 6, "min words")
flag.StringVar(&g.separator, "separator", "-", "word separator")
flag.BoolVar(&g.titleWords, "title", false, "make first letter uppercase")
flag.BoolVar(&g.addNumber, "number", false, "append random number to the end (0 - 9)")
@@ -71,6 +65,5 @@ func main() {
if err := g.loadWords("data/wordlist.txt"); err != nil {
log.Fatal(err)
}
- pw := g.generate(rand.New(cryptoSource{}))
- fmt.Println(pw)
+ fmt.Println(g.generate(rand.New(cryptoSource{})))
}