全部搜索项
buster  ] [  bullseye  ] [  sid  ]
[ 源代码: golang-github-nebulouslabs-fastrand  ]

软件包:golang-github-nebulouslabs-fastrand-dev(0.0~git20170512.60b6156-1)

golang-github-nebulouslabs-fastrand-dev 的相关链接

Screenshot

Debian 的资源:

下载源码包 golang-github-nebulouslabs-fastrand

维护小组:

外部的资源:

相似软件包:

10x faster than crypto/rand

fastrand GoDoc (https://godoc.org/github.com/NebulousLabs/fastrand) Go Report Card (https://goreportcard.com/report/github.com/NebulousLabs/fastrand)

go get github.com/NebulousLabs/fastrand

fastrand implements a cryptographically secure pseudorandom number generator. The generator is seeded using the system's default entropy source, and thereafter produces random values via repeated hashing. As a result, fastrand can generate randomness much faster than crypto/rand, and generation cannot fail beyond a potential panic during init().

Unlike both crypto/rand and math/rand, fastrand provides significant speedups when called using parallelism. In fact, fastrand can even outperform math/rand when using enough threads.

Packages uses something similar to the Fortuna algorithm, which is used in FreeBSD as its /dev/random. The techniques used by fastrand are known to be secure, however the specific implementation has not been reviewed extensively. Use with caution.

The general strategy is to use crypto/rand at init to get 32 bytes of strong entropy. From there, the entropy concatenated to a counter and hashed repeatedly, providing a new 64 bytes of random output each time the counter is incremented. The counter is 16 bytes, which provides strong guarantees that a cycle will not be seen throughout the lifetime of the program.

The sync/atomic package is used to ensure that multiple threads calling fastrand concurrently are always guaranteed to end up with unique counters, allowing callers to see speedups by calling concurrently, without compromising security.

其他与 golang-github-nebulouslabs-fastrand-dev 有关的软件包

  • 依赖
  • 推荐
  • 建议
  • 增强

下载 golang-github-nebulouslabs-fastrand-dev

下载可用于所有硬件架构的
硬件架构 软件包大小 安装后大小 文件
all 8.0 kB36.0 kB [文件列表]