"bytes"
"crypto/rand"
"fmt"
- "io"
)
// This example reads 10 cryptographically secure pseudorandom numbers from
func ExampleRead() {
c := 10
b := make([]byte, c)
- _, err := io.ReadFull(rand.Reader, b)
+ _, err := rand.Read(b)
if err != nil {
fmt.Println("error:", err)
return
// On Windows systems, Reader uses the CryptGenRandom API.
var Reader io.Reader
-// Read is a helper function that calls Reader.Read.
-func Read(b []byte) (n int, err error) { return Reader.Read(b) }
+// Read is a helper function that calls Reader.Read using io.ReadFull.
+// On return, n == len(b) if and only if err == nil.
+func Read(b []byte) (n int, err error) {
+ return io.ReadFull(Reader, b)
+}