pub struct SysRng(/* private fields */);Expand description
A cryptographically secure random number generator.
Implementations§
Trait Implementations§
Source§impl RngCore for SysRng
impl RngCore for SysRng
Source§fn fill_bytes(&mut self, dest: &mut [u8])
fn fill_bytes(&mut self, dest: &mut [u8])
Fill
dest with random data. Read moreimpl CryptoRng for SysRng
ring::rand::SystemRandom is a cryptographically secure PRG
Auto Trait Implementations§
impl Freeze for SysRng
impl RefUnwindSafe for SysRng
impl Send for SysRng
impl Sync for SysRng
impl Unpin for SysRng
impl UnsafeUnpin for SysRng
impl UnwindSafe for SysRng
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CryptoRngCore for T
impl<T> CryptoRngCore for T
Source§fn as_rngcore(&mut self) -> &mut dyn RngCore
fn as_rngcore(&mut self) -> &mut dyn RngCore
Upcast to an
RngCore trait object.Source§impl<R> RngExt for Rwhere
R: RngCore,
impl<R> RngExt for Rwhere
R: RngCore,
fn gen_bytes<const N: usize>(&mut self) -> [u8; N]
fn gen_u32(&mut self) -> u32
fn gen_u64(&mut self) -> u64
fn gen_u8(&mut self) -> u8
fn gen_u16(&mut self) -> u16
fn gen_u128(&mut self) -> u128
Source§fn gen_boolean(&mut self) -> bool
fn gen_boolean(&mut self) -> bool
Flip a coin. Generate
true with probability 0.5Source§fn gen_range_i32(&mut self, range: Range<i32>) -> i32
fn gen_range_i32(&mut self, range: Range<i32>) -> i32
Generates an
i32 in [range.start, range.end). Has slight modulo
bias for large ranges. See fastmap32.Source§fn gen_range_u32(&mut self, range: Range<u32>) -> u32
fn gen_range_u32(&mut self, range: Range<u32>) -> u32
Generates a
u32 in [range.start, range.end). Has slight modulo
bias for large ranges. See fastmap32.Source§fn gen_range_u64(&mut self, range: Range<u64>) -> u64
fn gen_range_u64(&mut self, range: Range<u64>) -> u64
Generates a
u32 in [range.start, range.end). Has slight modulo
bias for large ranges. See fastmap64.