1 // Copyright 2010 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4 5 // Package rand implements a cryptographically secure
6 // random number generator.
7 package rand
8 9 import "io"
10 11 // Reader is a global, shared instance of a cryptographically
12 // secure random number generator.
13 var Reader io.Reader
14 15 // Read is a helper function that calls Reader.Read using io.ReadFull.
16 // On return, n == len(b) if and only if err == nil.
17 func Read(b []byte) (n int, err error) {
18 if Reader == nil {
19 panic("no rng")
20 }
21 22 return io.ReadFull(Reader, b)
23 }
24