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 Aes128
 
impl KeyInit for Aes128
fn new(key: &GenericArray<u8, <Aes128 as KeySizeUser>::KeySize>) -> Aes128
Source§impl KeyInit for Aes128Dec
 
impl KeyInit for Aes128Dec
fn new(key: &GenericArray<u8, <Aes128Dec as KeySizeUser>::KeySize>) -> Aes128Dec
Source§impl KeyInit for Aes128Enc
 
impl KeyInit for Aes128Enc
fn new(key: &GenericArray<u8, <Aes128Enc as KeySizeUser>::KeySize>) -> Aes128Enc
Source§impl KeyInit for Aes192
 
impl KeyInit for Aes192
fn new(key: &GenericArray<u8, <Aes192 as KeySizeUser>::KeySize>) -> Aes192
Source§impl KeyInit for Aes192Dec
 
impl KeyInit for Aes192Dec
fn new(key: &GenericArray<u8, <Aes192Dec as KeySizeUser>::KeySize>) -> Aes192Dec
Source§impl KeyInit for Aes192Enc
 
impl KeyInit for Aes192Enc
fn new(key: &GenericArray<u8, <Aes192Enc as KeySizeUser>::KeySize>) -> Aes192Enc
Source§impl KeyInit for Aes256
 
impl KeyInit for Aes256
fn new(key: &GenericArray<u8, <Aes256 as KeySizeUser>::KeySize>) -> Aes256
Source§impl KeyInit for Aes256Dec
 
impl KeyInit for Aes256Dec
fn new(key: &GenericArray<u8, <Aes256Dec as KeySizeUser>::KeySize>) -> Aes256Dec
Source§impl KeyInit for Aes256Enc
 
impl KeyInit for Aes256Enc
fn new(key: &GenericArray<u8, <Aes256Enc as KeySizeUser>::KeySize>) -> Aes256Enc
Source§impl KeyInit for GHash
 
impl KeyInit for GHash
Source§fn new(h: &GenericArray<u8, <GHash as KeySizeUser>::KeySize>) -> GHash
 
fn new(h: &GenericArray<u8, <GHash as KeySizeUser>::KeySize>) -> GHash
Initialize GHASH with the given H field element
Source§impl KeyInit for Polyval
 
impl KeyInit for Polyval
Source§fn new(h: &GenericArray<u8, <Polyval as KeySizeUser>::KeySize>) -> Polyval
 
fn new(h: &GenericArray<u8, <Polyval as KeySizeUser>::KeySize>) -> Polyval
Initialize POLYVAL with the given H field element