Генерация пароля
- package main
- import (
- "fmt"
- "math/rand"
- "strings"
- "time"
- )
- /* settings */
- const (
- parts = 3
- charsPerPart = 6
- delimiter = "-"
- )
- // l and I, O and 0 are excluded
- var chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYX123456789"
- func main() {
- r := rand.New(rand.NewSource(time.Now().UnixNano()))
- pass := make([]string, parts)
- for k := range pass {
- for i := 0; i < charsPerPart; i++ {
- pass[k] += string(chars[r.Intn(len(chars))])
- }
- }
- fmt.Println(strings.Join(pass, delimiter))
- }
Есть возможность настроить сложность константами parts и charsPerPart, похожие символы (I, l, 0, O) не генерируются. Пример работы: https://play.golang.org/p/jAl2HVTiHHf