mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
crypto/rand: add and update examples
Change-Id: I77406c22b82c9f8bc57323c783f63c4897486e7e Reviewed-on: https://go-review.googlesource.com/c/go/+/665096 Reviewed-by: Daniel McCarney <daniel@binaryparadox.net> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Roland Shoemaker <roland@golang.org>
This commit is contained in:
parent
ae5a5132eb
commit
3cefe69c5a
@ -12,16 +12,30 @@ import (
|
||||
|
||||
// ExampleInt prints a single cryptographically secure pseudorandom number between 0 and 99 inclusive.
|
||||
func ExampleInt() {
|
||||
a, err := rand.Int(rand.Reader, big.NewInt(100))
|
||||
if err != nil {
|
||||
fmt.Println("error:", err)
|
||||
return
|
||||
}
|
||||
// Int cannot return an error when using rand.Reader.
|
||||
a, _ := rand.Int(rand.Reader, big.NewInt(100))
|
||||
fmt.Println(a.Int64())
|
||||
}
|
||||
|
||||
// ExamplePrime prints a cryptographically secure pseudorandom 64 bit prime number.
|
||||
func ExamplePrime() {
|
||||
// Prime cannot return an error when using rand.Reader and bits >= 2.
|
||||
a, _ := rand.Prime(rand.Reader, 64)
|
||||
fmt.Println(a.Int64())
|
||||
}
|
||||
|
||||
// ExampleRead prints a cryptographically secure pseudorandom 32 byte key.
|
||||
func ExampleRead() {
|
||||
// Note that no error handling is necessary, as Read always succeeds.
|
||||
key := make([]byte, 32)
|
||||
rand.Read(key)
|
||||
// The key can contain any byte value, print the key in hex.
|
||||
fmt.Printf("% x\n", key)
|
||||
}
|
||||
|
||||
// ExampleText prints a random key encoded in base32.
|
||||
func ExampleText() {
|
||||
key := rand.Text()
|
||||
// The key is base32 and safe to display.
|
||||
fmt.Println(key)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user