pub trait KdfOperation<'a, A: KdfAlgorithm, T = ZeroizingBytes>: Sized {
// Required methods
fn with_ikm(self, ikm: &'a [u8]) -> Self;
fn with_salt(self, salt: &'a [u8]) -> Self;
fn with_info(self, info: &'a [u8]) -> Self;
fn with_output_length(self, length: usize) -> Self;
fn derive(self) -> Result<T>;
fn derive_array<const N: usize>(self) -> Result<Zeroizing<[u8; N]>>;
}Expand description
Operation for KDF operations with improved type safety
Required Methods§
Sourcefn with_output_length(self, length: usize) -> Self
fn with_output_length(self, length: usize) -> Self
Set the desired output length
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl<'a, H: HashFunction + Clone, const S: usize> KdfOperation<'a, HkdfAlgorithm<H>> for HkdfOperation<'a, H, S>where
Salt<S>: HkdfCompatible,
impl<'a, H: HashFunction + Clone, const S: usize> KdfOperation<'a, Pbkdf2Algorithm<H>> for dcrypt_algorithms::kdf::pbkdf2::Pbkdf2Builder<'a, H, S>where
Salt<S>: Pbkdf2Compatible,
impl<'a, H: HashFunction + Clone> KdfOperation<'a, HkdfAlgorithm<H>> for HKdfOperation<'a, H>
Available on crate feature
alloc only.impl<'a, H: HashFunction + Clone> KdfOperation<'a, Pbkdf2Algorithm<H>> for dcrypt_algorithms::kdf::Pbkdf2Builder<'a, H>
Available on crate feature
alloc only.