[go: up one dir, main page]

Trait KeyInit

Source
pub trait KeyInit: Sized + KeySizeUser {
    // Required method
    fn new(key: &Array<u8, Self::KeySize>) -> Self;

    // Provided methods
    fn weak_key_test(
        _key: &Array<u8, Self::KeySize>,
    ) -> Result<(), WeakKeyError> { ... }
    fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError> { ... }
    fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
    fn generate_key_with_rng<R>(rng: &mut R) -> Array<u8, Self::KeySize>
       where R: CryptoRng { ... }
    fn try_generate_key_with_rng<R>(
        rng: &mut R,
    ) -> Result<Array<u8, Self::KeySize>, <R as TryRngCore>::Error>
       where R: TryCryptoRng { ... }
}
Available on crate feature mac only.
Expand description

Types which can be initialized from key.

Required Methods§

Source

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

Create new value from fixed size key.

Provided Methods§

Source

fn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>

Check if the key might be considered weak.

Source

fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError>

Create new value from fixed size key after checking it for weakness.

Source

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

Create new value from variable size key.

Source

fn generate_key_with_rng<R>(rng: &mut R) -> Array<u8, Self::KeySize>
where R: CryptoRng,

Available on crate feature rand_core only.

Generate random key using the provided CryptoRng.

Source

fn try_generate_key_with_rng<R>( rng: &mut R, ) -> Result<Array<u8, Self::KeySize>, <R as TryRngCore>::Error>
where R: TryCryptoRng,

Available on crate feature rand_core only.

Generate random key using the provided TryCryptoRng.

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.

Implementors§

Source§

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

Source§

impl<T: BufferKindUser + KeyInit> KeyInit for CoreWrapper<T>

Available on crate feature core-api only.