github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/crypto/rand/rand.go (about) 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は、暗号学的に安全な乱数生成器を実装しています。 6 package rand 7 8 import "github.com/shogo82148/std/io" 9 10 // Readerは暗号学的に安全な乱数生成器のグローバルで共有されたインスタンスです。 11 // 12 // - Linux、FreeBSD、Dragonfly、Solarisでは、Readerは利用可能な場合はgetrandom(2)を使用し、 13 // それ以外の場合は/dev/urandomを使用します。 14 // - macOSとiOSでは、Readerはarc4random_buf(3)を使用します。 15 // - OpenBSDとNetBSDでは、Readerはgetentropy(2)を使用します。 16 // - 他のUnix系システムでは、Readerは/dev/urandomから読み取ります。 17 // - Windowsでは、ReaderはProcessPrng APIを使用します。 18 // - js/wasmでは、ReaderはWeb Crypto APIを使用します。 19 // - wasip1/wasmでは、Readerはwasi_snapshot_preview1からrandom_getを使用します。 20 var Reader io.Reader 21 22 // Readはio.ReadFullを使ってReader.Readを呼び出すヘルパー関数です。 23 // 帰り値として、n == len(b) は err == nil の場合に限り成り立ちます。 24 func Read(b []byte) (n int, err error)