aboutsummaryrefslogtreecommitdiff
path: root/mqtt/util.go
blob: a934614a4ecd585967c08ceeaf31f1dcfa0ebfc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package mqtt

import (
	"math/rand"
	"strings"
	"time"
)

// generates a random string for use as a client ID
func randomString(n int, alphabet []rune) string {
	var seededRand = rand.New(rand.NewSource(time.Now().UnixNano()))

	alphabetSize := len(alphabet)
	var sb strings.Builder

	for i := 0; i < n; i++ {
		ch := alphabet[seededRand.Intn(alphabetSize)]
		sb.WriteRune(ch)
	}

	s := sb.String()
	return s
}