aboutsummaryrefslogtreecommitdiff
path: root/util/rand.go
diff options
context:
space:
mode:
authorr <r@freesoftwareextremist.com>2022-01-27 12:05:15 +0000
committerr <r@freesoftwareextremist.com>2022-01-27 12:05:15 +0000
commitb8c0133bcd5e7f1d4063ad992949cc19d18e7aad (patch)
tree5322b83d194c9ffcb498627bdd16175f9508d87d /util/rand.go
parent54c42455f393c5ae8ebdb19884d40ebd9a18f755 (diff)
parent4ef5e0daf285f41850c9ac53b0322d85fbf5eaec (diff)
downloadbloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.tar.gz
bloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.zip
Merge branch 'master' into absolute_fluoride
Diffstat (limited to 'util/rand.go')
-rw-r--r--util/rand.go20
1 files changed, 7 insertions, 13 deletions
diff --git a/util/rand.go b/util/rand.go
index 1e4ec95..90e66a5 100644
--- a/util/rand.go
+++ b/util/rand.go
@@ -2,24 +2,18 @@ package util
import (
"crypto/rand"
- "math/big"
+ "encoding/base64"
)
-var (
- runes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890")
- runes_length = len(runes)
-)
+var enc = base64.URLEncoding
func NewRandID(n int) (string, error) {
- data := make([]rune, n)
- for i := range data {
- num, err := rand.Int(rand.Reader, big.NewInt(int64(runes_length)))
- if err != nil {
- return "", err
- }
- data[i] = runes[num.Int64()]
+ data := make([]byte, enc.DecodedLen(n))
+ _, err := rand.Read(data)
+ if err != nil {
+ return "", err
}
- return string(data), nil
+ return enc.EncodeToString(data), nil
}
func NewSessionID() (string, error) {