Trait VariableOutputCore
trait VariableOutputCore: UpdateCore + OutputSizeUser + BufferKindUser + Sized
where
<Self as >::BlockSize: IsLess<crypto_common::typenum::U256>,
crypto_common::typenum::Le<<Self as >::BlockSize, crypto_common::typenum::U256>: NonZero
Core trait for hash functions with variable output size.
Maximum output size is equal to OutputSizeUser::OutputSize.
Users are expected to truncate result returned by the
finalize_variable_core to output_size passed to the new method
during construction. Truncation side is defined by the TRUNC_SIDE
associated constant.
Required Methods
fn new(output_size: usize) -> Result<Self, InvalidOutputSize>Initialize hasher state for given output size.
Returns
InvalidOutputSizeifoutput_sizeis not valid for the algorithm, e.g. if it's bigger than theOutputSizeassociated type.fn finalize_variable_core(self: &mut Self, buffer: &mut Buffer<Self>, out: &mut Output<Self>)Finalize hasher and write full hashing result into the
outbuffer.The result must be truncated to
output_sizeused during hasher construction. Truncation side is defined by theTRUNC_SIDEassociated constant.