Trait KeyIvInit
pub trait KeyIvInit:
Sized
+ KeySizeUser
+ IvSizeUser {
// Required method
fn new(
key: &GenericArray<u8, Self::KeySize>,
iv: &GenericArray<u8, Self::IvSize>,
) -> Self;
// Provided methods
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize> { ... }
fn generate_iv(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::IvSize> { ... }
fn generate_key_iv(
rng: impl CryptoRng + RngCore,
) -> (GenericArray<u8, Self::KeySize>, GenericArray<u8, Self::IvSize>) { ... }
}Expand description
Types which can be initialized from key and initialization vector (nonce).
Required Methods§
Provided Methods§
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable length key and nonce.
fn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize>
fn generate_key( rng: impl CryptoRng + RngCore, ) -> GenericArray<u8, Self::KeySize>
Generate random key using the provided CryptoRng.
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.