diff options
Diffstat (limited to 'src/access.go')
-rw-r--r-- | src/access.go | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/access.go b/src/access.go index e43d5aa..6de2c05 100644 --- a/src/access.go +++ b/src/access.go @@ -1,7 +1,26 @@ package main -import "fmt" +import ( + "math/rand" + "strings" + "time" +) -func newAccessCode() string { - return fmt.Sprintf("%d", 4) +func newAccessCode(length int) string { + // seed the random numbergenerator + rand.Seed(time.Now().UnixNano()) + + // define the alphabet + chars := []rune("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + + "abcdefghijklmnopqrstuvwxyz" + + "0123456789") + + // build the accesscode + var b strings.Builder + for i := 0; i < length; i++ { + b.WriteRune(chars[rand.Intn(len(chars))]) + } + str := b.String() + + return str } |