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 }