1 个不稳定版本
0.1.0 | 2022年8月11日 |
---|
#2301 在 算法
8KB
rand-wyrand
这是一个实现了 WyRand PRNG 的库,用于 RngCore 接口,来自 rand
。它完全 #![no_std]
,并且不需要 Rust 标准库。
WyRand 是一个非常快、稳定且可靠的 PRNG。虽然不是密码学安全的,但它仍然通过了 BigCrush 和 practrand 测试,使其成为非安全应用的可靠选择。(基本上,不要用它来生成加密密钥、密码或类似的东西)
示例
生成 1 到 100 的随机数
use rand::{Rng, SeedableRng};
use rand_wyrand::WyRand;
let mut wyrand = WyRand::from_entropy();
let mut bytes = [0_u8; 64];
wyrand.fill(&mut bytes);
println!("Random bytes: {bytes:?}");
生成随机字节
use rand::{Rng, SeedableRng};
use rand_wyrand::WyRand;
let mut wyrand = WyRand::from_entropy();
println!("Random number from 1 to 100: {}", wyrand.gen_range(1..=100));
生成随机字符串
use rand::{distributions::Alphanumeric, Rng, SeedableRng};
use rand_wyrand::WyRand;
let mut wyrand = WyRand::from_entropy();
let rand_string: String = wyrand
.sample_iter(&Alphanumeric)
.take(16)
.map(char::from)
.collect();
println!("Random string: {rand_string}")
许可证
rand-wyrand
根据您的选择,受 Apache 许可证或 MIT 许可证的许可,请参阅 Apache 许可证 或 MIT 许可证。
许可证:Apache-2.0 OR MIT
依赖关系
~50KB