Generate

Trait Generate 

Source
pub trait Generate: Sized {
    // Required method
    fn try_generate_from_rng<R: TryCryptoRng + ?Sized>(
        rng: &mut R,
    ) -> Result<Self, R::Error>;

    // Provided methods
    fn generate_from_rng<R: CryptoRng + ?Sized>(rng: &mut R) -> Self { ... }
    fn try_generate() -> Result<Self, RngError> { ... }
    fn generate() -> Self { ... }
}
Available on crate feature rand_core only.
Expand description

Secure random generation.

Required Methods§

Source

fn try_generate_from_rng<R: TryCryptoRng + ?Sized>( rng: &mut R, ) -> Result<Self, R::Error>

Generate random key using the provided TryCryptoRng.

Provided Methods§

Source

fn generate_from_rng<R: CryptoRng + ?Sized>(rng: &mut R) -> Self

Generate random key using the provided CryptoRng.

Source

fn try_generate() -> Result<Self, RngError>

Available on crate feature getrandom only.

Randomly generate a value of this type using the system’s ambient cryptographically secure random number generator.

§Errors

Returns RngError in the event the system’s ambient RNG experiences an internal failure.

Source

fn generate() -> Self

Available on crate feature getrandom only.

Randomly generate a value of this type using the system’s ambient cryptographically secure random number generator.

§Panics

This method will panic in the event the system’s ambient RNG experiences an internal failure.

This shouldn’t happen on most modern operating systems.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Generate for u32

Source§

impl Generate for u64

Source§

impl<U: ArraySize> Generate for Array<u8, U>

Source§

impl<U: ArraySize> Generate for Array<u32, U>

Source§

impl<U: ArraySize> Generate for Array<u64, U>

Source§

impl<const N: usize> Generate for [u8; N]

Implementors§