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<R: CryptoRng>(rng: &mut R) -> Key<Self> { ... }
fn generate_iv<R: CryptoRng>(rng: &mut R) -> Iv<Self> { ... }
fn generate_key_iv<R: CryptoRng>(rng: &mut R) -> (Key<Self>, Iv<Self>) { ... }
}Expand description
Types which can be initialized from a 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.
§Errors
Returns InvalidLength in the event that key and/or iv are not the expected length.
Sourcefn generate_key<R: CryptoRng>(rng: &mut R) -> Key<Self>
👎Deprecated since 0.2.0: use the Generate trait impl on Key instead
fn generate_key<R: CryptoRng>(rng: &mut R) -> Key<Self>
Generate trait impl on Key insteadSourcefn generate_iv<R: CryptoRng>(rng: &mut R) -> Iv<Self>
👎Deprecated since 0.2.0: use the Generate trait impl on Iv instead
fn generate_iv<R: CryptoRng>(rng: &mut R) -> Iv<Self>
Generate trait impl on Iv insteadDyn 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.