diff options
author | r <r@freesoftwareextremist.com> | 2022-01-27 12:05:15 +0000 |
---|---|---|
committer | r <r@freesoftwareextremist.com> | 2022-01-27 12:05:15 +0000 |
commit | b8c0133bcd5e7f1d4063ad992949cc19d18e7aad (patch) | |
tree | 5322b83d194c9ffcb498627bdd16175f9508d87d /util/rand.go | |
parent | 54c42455f393c5ae8ebdb19884d40ebd9a18f755 (diff) | |
parent | 4ef5e0daf285f41850c9ac53b0322d85fbf5eaec (diff) | |
download | bloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.tar.gz bloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.zip |
Merge branch 'master' into absolute_fluoride
Diffstat (limited to 'util/rand.go')
-rw-r--r-- | util/rand.go | 20 |
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) { |