Generates password of length n
(n int)
| 176 | |
| 177 | // Generates password of length n |
| 178 | func getPassword(n int) string { |
| 179 | const letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-/.+?=&" |
| 180 | |
| 181 | rbuf := make([]byte, n) |
| 182 | if _, err := crand.Read(rbuf); err != nil { |
| 183 | log.Fatalln("Unable to generate password", err) |
| 184 | } |
| 185 | |
| 186 | passwd := make([]byte, n) |
| 187 | for i, r := range rbuf { |
| 188 | passwd[i] = letters[int(r)%len(letters)] |
| 189 | } |
| 190 | |
| 191 | return string(passwd) |
| 192 | } |
| 193 | |
| 194 | func main() { |
| 195 | reset := flag.Bool("reset", false, "force database reset") |