Trait sm3::Digest [−][src]
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
type OutputSize: ArrayLength<u8>
type OutputSize: ArrayLength<u8>
Output size for Digest
Required methods
Digest data, updating the internal state.
This method can be called repeatedly for use with streaming messages.
fn finalize(self) -> GenericArray<u8, Self::OutputSize>
fn finalize(self) -> GenericArray<u8, Self::OutputSize>
Retrieve result and consume hasher instance.
fn finalize_reset(&mut self) -> GenericArray<u8, Self::OutputSize>
fn finalize_reset(&mut self) -> GenericArray<u8, Self::OutputSize>
Retrieve result and reset hasher instance.
This method sometimes can be more efficient compared to hasher re-creation.
fn output_size() -> usize
fn output_size() -> usize
Get output size of the hasher