logo
pub trait Digest {
    type OutputSize: ArrayLength<u8>;
    fn new() -> Self;
fn update(&mut self, data: impl AsRef<[u8]>);
fn chain(self, data: impl AsRef<[u8]>) -> Self;
fn finalize(self) -> GenericArray<u8, Self::OutputSize>;
fn finalize_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 Update, FixedOutput, Reset, Clone, and Default traits. It also provides additional convenience methods.

Associated Types

Output size for Digest

Required methods

Create new hasher instance

Digest data, updating the internal state.

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