2010-03-17 00:12:20 -06:00
|
|
|
// Copyright 2010 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
// Package rand implements a cryptographically secure
|
|
|
|
// pseudorandom number generator.
|
|
|
|
package rand
|
|
|
|
|
2011-11-01 20:04:37 -06:00
|
|
|
import "io"
|
2010-03-17 00:12:20 -06:00
|
|
|
|
|
|
|
// Reader is a global, shared instance of a cryptographically
|
|
|
|
// strong pseudo-random generator.
|
2010-07-12 17:37:53 -06:00
|
|
|
// On Unix-like systems, Reader reads from /dev/urandom.
|
|
|
|
// On Windows systems, Reader uses the CryptGenRandom API.
|
2010-03-17 00:12:20 -06:00
|
|
|
var Reader io.Reader
|
|
|
|
|
2013-09-06 13:00:27 -06:00
|
|
|
// 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)
|
|
|
|
}
|