mirror of
https://github.com/gin-gonic/gin.git
synced 2025-08-07 11:49:48 +08:00
refactor(internal/bytesconv): replace rand usage with crypto/rand and rand.Int63 (#4259)
Co-authored-by: huangzw <huangzw@2345.com>
This commit is contained in:
parent
a9c5b36578
commit
77d70e5858
@ -6,6 +6,7 @@ package bytesconv
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
cRand "crypto/rand"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -30,7 +31,10 @@ func rawStrToBytes(s string) []byte {
|
|||||||
func TestBytesToString(t *testing.T) {
|
func TestBytesToString(t *testing.T) {
|
||||||
data := make([]byte, 1024)
|
data := make([]byte, 1024)
|
||||||
for i := 0; i < 100; i++ {
|
for i := 0; i < 100; i++ {
|
||||||
rand.Read(data)
|
_, err := cRand.Read(data)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
if rawBytesToStr(data) != BytesToString(data) {
|
if rawBytesToStr(data) != BytesToString(data) {
|
||||||
t.Fatal("don't match")
|
t.Fatal("don't match")
|
||||||
}
|
}
|
||||||
@ -44,7 +48,7 @@ const (
|
|||||||
letterIdxMax = 63 / letterIdxBits // # of letter indices fitting in 63 bits
|
letterIdxMax = 63 / letterIdxBits // # of letter indices fitting in 63 bits
|
||||||
)
|
)
|
||||||
|
|
||||||
var src = rand.NewSource(time.Now().UnixNano())
|
var src = rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||||
|
|
||||||
func RandStringBytesMaskImprSrcSB(n int) string {
|
func RandStringBytesMaskImprSrcSB(n int) string {
|
||||||
sb := strings.Builder{}
|
sb := strings.Builder{}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user