pub trait KeyIvInit:
KeySizeUser
+ IvSizeUser
+ Sized {
// Required method
fn new(key: &Key<Self>, iv: &Iv<Self>) -> Self;
// Provided methods
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self> { ... }
fn generate_iv(rng: impl CryptoRng + RngCore) -> Iv<Self> { ... }
fn generate_key_iv(rng: impl CryptoRng + RngCore) -> (Key<Self>, Iv<Self>) { ... }
}
Expand description
Types which can be initialized from key and initialization vector (nonce).
Required Methods§
Provided Methods§
Sourcefn 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.
Sourcefn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self>
fn generate_key(rng: impl CryptoRng + RngCore) -> Key<Self>
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.