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§
Sourcefn try_generate_from_rng<R: TryCryptoRng + ?Sized>(
rng: &mut R,
) -> Result<Self, R::Error>
fn try_generate_from_rng<R: TryCryptoRng + ?Sized>( rng: &mut R, ) -> Result<Self, R::Error>
Generate random key using the provided TryCryptoRng.
Provided Methods§
Sourcefn generate_from_rng<R: CryptoRng + ?Sized>(rng: &mut R) -> Self
fn generate_from_rng<R: CryptoRng + ?Sized>(rng: &mut R) -> Self
Generate random key using the provided CryptoRng.
Sourcefn try_generate() -> Result<Self, RngError>
Available on crate feature getrandom only.
fn try_generate() -> Result<Self, RngError>
getrandom only.Sourcefn generate() -> Self
Available on crate feature getrandom only.
fn generate() -> Self
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.