Source File
randutil.go
Belonging Package
crypto/internal/randutil
// Copyright 2018 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 randutil contains internal randomness utilities for various// crypto packages.package randutilimport ()var (closedChanOnce sync.OnceclosedChan chan struct{})// MaybeReadByte reads a single byte from r with ~50% probability. This is used// to ensure that callers do not depend on non-guaranteed behaviour, e.g.// assuming that rsa.GenerateKey is deterministic w.r.t. a given random stream.//// This does not affect tests that pass a stream of fixed bytes as the random// source (e.g. a zeroReader).func ( io.Reader) {closedChanOnce.Do(func() {closedChan = make(chan struct{})close(closedChan)})select {case <-closedChan:returncase <-closedChan:var [1]byte.Read([:])}}
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |