[][src]Trait digest::VariableOutput

pub trait VariableOutput: Sized {
    fn new(output_size: usize) -> Result<Self, InvalidOutputSize>;
fn output_size(&self) -> usize;
fn finalize_variable(self, f: impl FnOnce(&[u8]));
fn finalize_variable_reset(&mut self, f: impl FnOnce(&[u8])); fn finalize_boxed(self) -> Box<[u8]> { ... }
fn finalize_boxed_reset(&mut self) -> Box<[u8]> { ... } }

Trait for returning digest result with the variable size

Required methods

fn new(output_size: usize) -> Result<Self, InvalidOutputSize>

Create new hasher instance with the given output size.

It will return Err(InvalidOutputSize) in case if hasher can not return specified output size. It will always return an error if output size equals to zero.

fn output_size(&self) -> usize

Get output size of the hasher instance provided to the new method

fn finalize_variable(self, f: impl FnOnce(&[u8]))

Retrieve result via closure and consume hasher.

Closure is guaranteed to be called, length of the buffer passed to it will be equal to output_size.

fn finalize_variable_reset(&mut self, f: impl FnOnce(&[u8]))

Retrieve result via closure and reset the hasher state.

Closure is guaranteed to be called, length of the buffer passed to it will be equal to output_size.

Loading content...

Provided methods

fn finalize_boxed(self) -> Box<[u8]>

This is supported on feature="alloc" only.

Retrieve result into a boxed slice and consume hasher.

Box<[u8]> is used instead of Vec<u8> to save stack space, since they have size of 2 and 3 words respectively.

fn finalize_boxed_reset(&mut self) -> Box<[u8]>

This is supported on feature="alloc" only.

Retrieve result into a boxed slice and reset hasher state.

Box<[u8]> is used instead of Vec<u8> to save stack space, since they have size of 2 and 3 words respectively.

Loading content...

Implementors

impl<D: VariableOutputDirty + Reset> VariableOutput for D[src]

Loading content...