github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmg/SubCommand/password.go (about)

     1  package SubCommand
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"github.com/bronze1man/kmg/kmgRand"
     7  )
     8  
     9  func NewPassword() {
    10  	len := 0
    11  	num := 0
    12  	var typ string
    13  	flag.StringVar(&typ, "type", "AlphaNum", "password type (AlphaNum,Num)")
    14  	flag.IntVar(&len, "len", 10, "len of password")
    15  	flag.IntVar(&num, "num", 1, "num of password")
    16  	flag.Parse()
    17  	var f func(length int) string
    18  	switch typ {
    19  	case "AlphaNum":
    20  		f = kmgRand.MustCryptoRandToReadableAlphaNum
    21  	case "Num":
    22  		f = kmgRand.MustCryptoRandToNum
    23  	default:
    24  		fmt.Println("Unknow password type")
    25  		flag.Usage()
    26  		return
    27  	}
    28  	for i := 0; i < num; i++ {
    29  		fmt.Println(f(len))
    30  	}
    31  }