reseeding_rng 0.10.5

ReseedingRng that periodically reseeds the underlying PRNG
Documentation

Crate reseeding_rng

Crates.io License

ReseedingRng that periodically reseeds the underlying pseudorandom number generator.

use rand::{RngExt as _, rngs::StdRng, rngs::SysRng};
use reseeding_rng::ReseedingRng;

let mut rng = ReseedingRng::<StdRng, _>::try_new(1024 * 64, SysRng)
    .expect("couldn't initialize ReseedingRng due to SysRng failure");
println!("{:?}", rng.random::<[char; 4]>());

This crate provides a simplified reimplementation of ReseedingRng for use with the random number generators from the rand crate v0.10, which no longer includes the ReseedingRng from v0.9 and earlier.

This crate is no_std-compatible unless the std_rng feature is enabled.

Cargo features

  • std_rng (optional) enables StdReseedingRng, a newtype wrapping ReseedingRng<StdRng, SysRng> with a default reseeding threshold of 64KiB.

License

Licensed under the Apache License, Version 2.0.