Back to

Package cryptorand

Latest Go to latest

The latest major version is .

Published: Aug 1, 2020 | License: Apache-2.0 | Module:


Package cryptorand implements a mockable source or crypto strong randomness.

In real world scenario it is same source as provided by crypt/rand. In tests it is replaced with reproducible, not really random stream of bytes.


func Get

func Get(c context.Context) io.Reader

Get returns an io.Reader that emits random stream of bytes.

Usually this returns crypto/rand.Reader, but unit tests may replace it with a mock by using 'MockForTest' function.

func MockForTest

func MockForTest(c context.Context, seed int64) context.Context

MockForTest installs deterministic source of 'randomness' in the context.

Must not be used outside of tests.

func Read

func Read(c context.Context, b []byte) (n int, err error)

Read is a helper that reads bytes from random source using io.ReadFull.

On return, n == len(b) if and only if err == nil.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier