Trait KeyIvInit
pub trait KeyIvInit:
Sized
+ KeySizeUser
+ IvSizeUser {
// Required method
fn new(key: &Array<u8, Self::KeySize>, iv: &Array<u8, Self::IvSize>) -> Self;
// Provided methods
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>
where R: CryptoRng { ... }
fn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>
where R: CryptoRng { ... }
fn generate_key_iv<R>(
rng: &mut R,
) -> (Array<u8, Self::KeySize>, Array<u8, Self::IvSize>)
where R: CryptoRng { ... }
}Expand description
Types which can be initialized from a 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.
§Errors
Returns [InvalidLength] in the event that key and/or iv are not the expected length.
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>where
R: CryptoRng,
👎Deprecated since 0.2.0: use the Generate trait impl on Key instead
fn generate_key<R>(rng: &mut R) -> Array<u8, Self::KeySize>where
R: CryptoRng,
use the Generate trait impl on Key instead
DEPRECATED: generate random key using the provided [CryptoRng].
Instead, you can now use the [Generate] trait directly with the [Key] type:
let key = Key::generate_from_rng(rng);fn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>where
R: CryptoRng,
👎Deprecated since 0.2.0: use the Generate trait impl on Iv instead
fn generate_iv<R>(rng: &mut R) -> Array<u8, Self::IvSize>where
R: CryptoRng,
use the Generate trait impl on Iv instead
DEPRECATED: generate random IV using the provided [CryptoRng].
Instead, you can now use the [Generate] trait directly with the [Iv] type:
let iv = Iv::generate_from_rng(rng);fn generate_key_iv<R>(
rng: &mut R,
) -> (Array<u8, Self::KeySize>, Array<u8, Self::IvSize>)where
R: CryptoRng,
👎Deprecated since 0.2.0: use the Generate trait impls on Key and Iv instead
fn generate_key_iv<R>(
rng: &mut R,
) -> (Array<u8, Self::KeySize>, Array<u8, Self::IvSize>)where
R: CryptoRng,
use the Generate trait impls on Key and Iv instead
DEPRECATED: generate random key and IV using the provided [CryptoRng].
Instead, you can now use the [Generate] trait directly with the [Key] and [Iv] types:
let key = Key::generate_from_rng(rng);
let iv = Iv::generate_from_rng(rng);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".