pub trait KeyInit: KeySizeUser + Sized {
    // 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§

fn new(key: &GenericArray<u8, Self::KeySize>) -> Self

Create new value from fixed size key.

Provided Methods§

fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>

Create new value from variable size key.

fn generate_key( rng: impl CryptoRng + RngCore ) -> GenericArray<u8, Self::KeySize>

Available on crate feature rand_core only.

Generate random key using the provided CryptoRng.

Implementations on Foreign Types§

source§

impl<T> KeyInit for StreamCipherCoreWrapper<T>where T: KeyInit + BlockSizeUser, <T as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <<T as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,

source§

impl KeyInit for Poly1305

source§

fn new(key: &GenericArray<u8, <Poly1305 as KeySizeUser>::KeySize>) -> Poly1305

Initialize Poly1305 with the given key

Implementors§

source§

impl<C> KeyInit for SecretBox<C>

§

impl<T> KeyInit for Twhere T: InnerInit, <T as InnerUser>::Inner: KeyInit,