pub trait ExtendableOutput: Update {
    type Reader: XofReader;

    fn finalize_xof(self) -> Self::Reader;

    fn finalize_xof_into(self, out: &mut [u8]) { ... }
    fn digest_xof(input: impl AsRef<[u8]>, output: &mut [u8])
    where
        Self: Default
, { ... } fn finalize_boxed(self, output_size: usize) -> Box<[u8], Global>Notable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
    W: Write + ?Sized
impl<R> Read for Box<R, Global> where
    R: Read + ?Sized
impl<F, A> Future for Box<F, A> where
    F: Future + Unpin + ?Sized,
    A: Allocator + 'static, 
type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
    I: Iterator + ?Sized,
    A: Allocator
type Item = <I as Iterator>::Item;
{ ... } }
Expand description

Trait for hash functions with extendable-output (XOF).

Required Associated Types

Reader

Required Methods

Retrieve XOF reader and consume hasher instance.

Provided Methods

Finalize XOF and write result into out.

Compute hash of data and write it into output.

Retrieve result into a boxed slice of the specified size and consume the hasher.

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

Implementors