| Crates.io | rand-esdm |
| lib.rs | rand-esdm |
| version | 0.2.3 |
| created_at | 2023-08-10 17:47:09.097321+00 |
| updated_at | 2025-05-22 08:45:05.148467+00 |
| description | provides interface to ESDM RNG server |
| homepage | |
| repository | https://github.com/thillux/rand-esdm |
| max_upload_size | |
| id | 941217 |
| size | 27,694 |
A small library for interfacing Rust with the ESDM user-space random server.
It currently provides the minimal amount of bindings necessary to use ESDM together with the rand crate.
rand-esdm = "0.2.1"
Choose type of rng:
let mut rng = EsdmRng::new(EsdmRngType::FullySeeded);let mut rng = EsdmRng::new(EsdmRngType::PredictionResistant);Include Rng utility trait from rand:
use rand::Rng;
Draw random numbers as needed, e.g.:
let rnd: u64 = rng.random();
Complete toy example can be found in examples/readme.rs:
use rand::{Rng, TryRngCore};
use rand_esdm::{EsdmRng, EsdmRngType};
fn main() {
let mut rng = EsdmRng::new(EsdmRngType::FullySeeded).unwrap_err();
let rnd: u32 = rng.random();
println!("{rnd:X}");
}