diff --git a/csrand.go b/csrand.go index 4a5cea8..2b8d07e 100644 --- a/csrand.go +++ b/csrand.go @@ -10,6 +10,7 @@ type secureRandomSource struct{} var RandomSource secureRandomSource var int63Limit = big.NewInt(0).Lsh(big.NewInt(1), 63) +var int64Limit = big.NewInt(0).Lsh(big.NewInt(1), 64) func (_ secureRandomSource) Seed(_ int64) { } @@ -21,3 +22,11 @@ func (_ secureRandomSource) Int63() int64 { } return randNum.Int64() } + +func (_ secureRandomSource) Uint64() uint64 { + randNum, err := crand.Int(crand.Reader, int64Limit) + if err != nil { + panic(err) + } + return randNum.Uint64() +}