pub trait KeyInit: Sized + KeySizeUser {
// Required method
fn new(key: &Array<u8, Self::KeySize>) -> Self;
// Provided methods
fn weak_key_test(
_key: &Array<u8, Self::KeySize>,
) -> Result<(), WeakKeyError> { ... }
fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError> { ... }
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key() -> Result<Array<u8, Self::KeySize>, Error> { ... }
fn generate_key_with_rng<R>(rng: &mut R) -> Array<u8, Self::KeySize>
where R: CryptoRng + ?Sized { ... }
fn try_generate_key_with_rng<R>(
rng: &mut R,
) -> Result<Array<u8, Self::KeySize>, <R as TryRngCore>::Error>
where R: TryCryptoRng + ?Sized { ... }
}Expand description
Types which can be initialized from key.
Required Methods§
Provided Methods§
Sourcefn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
fn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
Check if the key might be considered weak.
Sourcefn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError>
fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError>
Create new value from fixed size key after checking it for weakness.
Sourcefn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
Sourcefn generate_key() -> Result<Array<u8, Self::KeySize>, Error>
Available on crate feature getrandom only.
fn generate_key() -> Result<Array<u8, Self::KeySize>, Error>
getrandom only.Generate random key using the operating system’s secure RNG.
Sourcefn generate_key_with_rng<R>(rng: &mut R) -> Array<u8, Self::KeySize>
Available on crate feature rand_core only.
fn generate_key_with_rng<R>(rng: &mut R) -> Array<u8, Self::KeySize>
rand_core only.Generate random key using the provided CryptoRng.
Sourcefn try_generate_key_with_rng<R>(
rng: &mut R,
) -> Result<Array<u8, Self::KeySize>, <R as TryRngCore>::Error>where
R: TryCryptoRng + ?Sized,
Available on crate feature rand_core only.
fn try_generate_key_with_rng<R>(
rng: &mut R,
) -> Result<Array<u8, Self::KeySize>, <R as TryRngCore>::Error>where
R: TryCryptoRng + ?Sized,
rand_core only.Generate random key using the provided TryCryptoRng.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".