pub trait KeyInit: Sized + KeySizeUser {
// Required method
fn new(key: &Array<u8, Self::KeySize>) -> Self;
// Provided methods
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key_with_rng(
rng: &mut impl CryptoRngCore,
) -> Result<Array<u8, Self::KeySize>, Error> { ... }
}
Available on crate feature
mac
only.Expand description
Types which can be initialized from key.
Required Methods§
Provided Methods§
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_with_rng(
rng: &mut impl CryptoRngCore,
) -> Result<Array<u8, Self::KeySize>, Error>
Available on crate feature rand_core
only.
fn generate_key_with_rng( rng: &mut impl CryptoRngCore, ) -> Result<Array<u8, Self::KeySize>, Error>
rand_core
only.Generate random key using the provided CryptoRngCore
.
Object Safety§
This trait is not object safe.