We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 1f95008 commit c51bce1Copy full SHA for c51bce1
1 file changed
internal/oauth2/crypto.go
@@ -1,23 +1,20 @@
1
package oauth2
2
3
import (
4
- "math/rand"
5
- "time"
+ "crypto/rand"
6
)
7
8
-var r *rand.Rand
9
-
10
-func init() {
11
- r = rand.New(rand.NewSource(time.Now().UnixNano()))
12
-}
13
14
-var letter = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
+var letters = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
15
16
func RandomString(n int) string {
17
- b := make([]rune, n)
+ b := make([]byte, n)
+
+ if _, err := rand.Read(b); err != nil {
+ panic(err)
+ }
18
19
for i := range b {
20
- b[i] = letter[r.Intn(len(letter))]
+ b[i] = letters[b[i]%byte(len(letters))]
21
}
22
23
return string(b)
0 commit comments