Use crypto/rand for token string generation

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-04-28 11:44:56 +08:00
parent 150ce674ad
commit 666388a5ed
+10 -8
View File
@@ -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 {