Upgrading server dependancies (#6431)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
cd23b8139a
Коммит
d103ed6ca9
44
vendor/github.com/sean-/seed/README.md
сгенерированный
поставляемый
Обычный файл
44
vendor/github.com/sean-/seed/README.md
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,44 @@
|
||||
# `seed` - Quickly Seed Go's Random Number Generator
|
||||
|
||||
Boiler-plate to securely [seed](https://en.wikipedia.org/wiki/Random_seed) Go's
|
||||
random number generator (if possible). This library isn't anything fancy, it's
|
||||
just a canonical way of seeding Go's random number generator. Cribbed from
|
||||
[`Nomad`](https://github.com/hashicorp/nomad/commit/f89a993ec6b91636a3384dd568898245fbc273a1)
|
||||
before it was moved into
|
||||
[`Consul`](https://github.com/hashicorp/consul/commit/d695bcaae6e31ee307c11fdf55bb0bf46ea9fcf4)
|
||||
and made into a helper function, and now further modularized to be a super
|
||||
lightweight and reusable library.
|
||||
|
||||
Time is better than
|
||||
[Go's default seed of `1`](https://golang.org/pkg/math/rand/#Seed), but friends
|
||||
don't let friends use time as a seed to a random number generator. Use
|
||||
`seed.MustInit()` instead.
|
||||
|
||||
`seed.Init()` is an idempotent and reentrant call that will return an error if
|
||||
it can't seed the value the first time it is called. `Init()` is reentrant.
|
||||
|
||||
`seed.MustInit()` is idempotent and reentrant call that will `panic()` if it
|
||||
can't seed the value the first time it is called. `MustInit()` is reentrant.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
package mypackage
|
||||
|
||||
import (
|
||||
"github.com/sean-/seed"
|
||||
)
|
||||
|
||||
// MustInit will panic() if it is unable to set a high-entropy random seed:
|
||||
func init() {
|
||||
seed.MustInit()
|
||||
}
|
||||
|
||||
// Or if you want to not panic() and can actually handle this error:
|
||||
func init() {
|
||||
if secure, err := !seed.Init(); !secure {
|
||||
// Handle the error
|
||||
//panic(fmt.Sprintf("Unable to securely seed Go's RNG: %v", err))
|
||||
}
|
||||
}
|
||||
```
|
||||
Ссылка в новой задаче
Block a user