#random

cap-rand

Capability-based random number generators

83 releases (30 stable)

4.0.0 Dec 11, 2025
3.4.5 Oct 24, 2025
3.4.4 Apr 21, 2025
3.4.2 Dec 4, 2024
0.6.0 Nov 10, 2020

#874 in Algorithms

Download history 56173/week @ 2025-09-26 50933/week @ 2025-10-03 57716/week @ 2025-10-10 70370/week @ 2025-10-17 72692/week @ 2025-10-24 74343/week @ 2025-10-31 72845/week @ 2025-11-07 80785/week @ 2025-11-14 73579/week @ 2025-11-21 69909/week @ 2025-11-28 75901/week @ 2025-12-05 77678/week @ 2025-12-12 74816/week @ 2025-12-19 64649/week @ 2025-12-26 100715/week @ 2026-01-02 106216/week @ 2026-01-09

361,693 downloads per month
Used in 345 crates (5 directly)

Apache-2.0…

11KB
96 lines

Capability-based random number generators

This corresponds to rand.

Capability-based APIs represent access to external resources as values which can be passed around between different parts of a program.

Two notable features are the OsRng and CapRng types, which wrap up access to the operating system entropy source in capability values.

This crate uses the existing rand::SeedableRng trait rather than having its own version, however while rand::SeedableRng is mostly just a pure interface, it provides a from_entropy function which directly reads from the operating system entropy source. To preserve the capability-based interface, avoid using rand::SeedableRng's from_entropy function on any of the types that implement that trait; use std_rng_from_entropy instead.


cap-rand

Capability-based random number generators

Github Actions CI Status crates.io page docs.rs docs

The cap-rand crate provides a capability-based interface to random number generators via the rand crate.

Dependencies

~1.5MB
~26K SLoC