logo
pub trait Digest {
    type OutputSize: ArrayLength<u8>;
    fn new() -> Self;
    fn input<B>(&mut self, data: B)
    where
        B: AsRef<[u8]>
; fn chain<B>(self, data: B) -> Self
    where
        B: AsRef<[u8]>
; fn result(self) -> GenericArray<u8, Self::OutputSize>; fn result_reset(&mut self) -> GenericArray<u8, Self::OutputSize>; fn reset(&mut self); fn output_size() -> usize; fn digest(data: &[u8]) -> GenericArray<u8, Self::OutputSize>; }
Expand description

The Digest trait specifies an interface common for digest functions.

It’s a convenience wrapper around Input, FixedOutput, Reset, Clone, and Default traits. It also provides additional convenience methods.

Associated Types

Required methods

Create new hasher instance

Digest input data.

This method can be called repeatedly for use with streaming messages.

Digest input data in a chained manner.

Retrieve result and consume hasher instance.

Retrieve result and reset hasher instance.

This method sometimes can be more efficient compared to hasher re-creation.

Reset hasher instance to its initial state.

Get output size of the hasher

Convenience function to compute hash of the data. It will handle hasher creation, data feeding and finalization.

Example:

println!("{:x}", sha2::Sha256::digest(b"Hello world"));

Implementors