#random #secure-random #seeder #game

no-std rand_seeder

基于 SipHash 的通用随机数生成器

6 个版本

使用旧的 Rust 2015

0.3.0 2024 年 8 月 1 日
0.2.3 2022 年 2 月 23 日
0.2.2 2020 年 12 月 23 日
0.2.1 2020 年 5 月 28 日
0.1.0 2019 年 10 月 15 日

1359算法 中排名

Download history 5486/week @ 2024-05-03 8595/week @ 2024-05-10 7544/week @ 2024-05-17 9120/week @ 2024-05-24 18551/week @ 2024-05-31 11853/week @ 2024-06-07 15826/week @ 2024-06-14 16824/week @ 2024-06-21 14796/week @ 2024-06-28 15819/week @ 2024-07-05 13418/week @ 2024-07-12 14129/week @ 2024-07-19 13991/week @ 2024-07-26 12522/week @ 2024-08-02 12837/week @ 2024-08-09 12876/week @ 2024-08-16

每月下载量 54,718
用于 65 包(直接使用 32 个)

MIT/Apache

26KB
497

rand_seeder

Build Status Latest version Documentation Minimum rustc version License

基于 SipHash 的通用生成器。

此包旨在与 rand 包一起使用,允许任何支持 rand_core::SeedableRng 的 RNG 从任何可哈希值中生成种子。它提供以下功能

  • SipHasher 是 SipHash-2-4 的便携式实现。根据作者的描述,SipHash 是一种安全、快速且简单的密钥哈希函数。
  • SipRng 是基于 SipHash 状态和混合操作的 PRNG。它具有很高的统计质量,通过至少 4 TiB 的 practrand 测试。
  • SipHasher::into_rng() 将一个 SipHasher 转换为一个 SipRng,保持完整的 256 位状态。(这可能会破坏哈希器的安全性。)
  • Seeder 是上述功能的便利包装器(参见示例)。

种子设计为快速、健壮、灵活和便携。此库旨在用于模拟和游戏,例如,允许任何关键字重现模拟或过程生成的世界。

此库不适用于加密应用,并且绝对不适用于密码哈希。

示例

use rand_core::RngCore;         // for next_u32
use rand_pcg::Pcg64;            // or whatever you like
use rand_seeder::Seeder;

let mut rng: Pcg64 = Seeder::from("stripy zebra").make_rng();
println!("First value: {}", rng.next_u32());

更新日志

Rust 版本要求

需要 rustc 1.32 或更高版本以使用 .to_le_bytes() 方法以及与 rand_core 0.5 兼容。

许可证

rand_seeder 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MIT

依赖关系

~47KB