Use crypto/rand for token string generation
Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
+10
-8
@@ -4,14 +4,13 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/rand"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"math/rand"
|
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -51,13 +50,16 @@ func XOR(s1, s2 []byte) []byte {
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
func RandomStr(len int) string {
|
func RandomStr(length int) string {
|
||||||
rand.Seed(time.Now().UnixNano())
|
if length <= 0 {
|
||||||
mRand := make([]byte, len)
|
return ""
|
||||||
rand.Read(mRand)
|
}
|
||||||
mRandStr := hex.EncodeToString(mRand)[0:len]
|
|
||||||
|
|
||||||
return mRandStr
|
mRand := make([]byte, length)
|
||||||
|
if _, err := rand.Read(mRand); err != nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return hex.EncodeToString(mRand)[:length]
|
||||||
}
|
}
|
||||||
|
|
||||||
func ToJSON(data any) string {
|
func ToJSON(data any) string {
|
||||||
|
|||||||
Reference in New Issue
Block a user