pub trait KeyInit: Sized + KeySizeUser {
// Required method
fn new(key: &GenericArray<u8, Self::KeySize>) -> Self;
// Provided methods
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize> { ... }
}
Expand description
Types which can be initialized from key.
Required Methods§
Sourcefn new(key: &GenericArray<u8, Self::KeySize>) -> Self
fn new(key: &GenericArray<u8, Self::KeySize>) -> Self
Create new value from fixed size key.
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(
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.
Implementations on Foreign Types§
Source§impl KeyInit for Poly1305
impl KeyInit for Poly1305
Source§fn new(key: &GenericArray<u8, <Poly1305 as KeySizeUser>::KeySize>) -> Poly1305
fn new(key: &GenericArray<u8, <Poly1305 as KeySizeUser>::KeySize>) -> Poly1305
Initialize Poly1305 with the given key