Fix G404 gosec lint error
This commit is contained in:
+12
-1
@@ -2,12 +2,23 @@ package random
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/binary"
|
||||
"math/big"
|
||||
|
||||
"golang.org/x/exp/constraints"
|
||||
)
|
||||
|
||||
func Int64[T constraints.Integer](max T) int64 {
|
||||
// Int64N returns a random int64 between 0 and max.
|
||||
// This is a reimplementation of math/rand/v2.Int64N using a cryptographically secure random number generator.
|
||||
func Int64N[T constraints.Integer](max T) int64 {
|
||||
rnd, _ := rand.Int(rand.Reader, big.NewInt(int64(max)))
|
||||
return rnd.Int64()
|
||||
}
|
||||
|
||||
// Uint64 returns a random uint64.
|
||||
// This is a reimplementation of math/rand/v2.Uint64 using a cryptographically secure random number generator.
|
||||
func Uint64() uint64 {
|
||||
buffer := make([]byte, 8)
|
||||
_, _ = rand.Read(buffer)
|
||||
return binary.BigEndian.Uint64(buffer)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user