Trait digest::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
where
Self: Sized;
fn finalize(self) -> Output<Self>;
fn finalize_reset(&mut self) -> Output<Self>;
fn reset(&mut self);
fn output_size() -> usize;
fn digest(data: &[u8]) -> Output<Self>;
}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>[src]
Output size for Digest
Required methods
fn new() -> Self[src]
Create new hasher instance
fn update(&mut self, data: impl AsRef<[u8]>)[src]
Digest data, updating the internal state.
This method can be called repeatedly for use with streaming messages.
fn chain(self, data: impl AsRef<[u8]>) -> Self where
Self: Sized, [src]
Self: Sized,
Digest input data in a chained manner.
fn finalize(self) -> Output<Self>[src]
Retrieve result and consume hasher instance.
fn finalize_reset(&mut self) -> Output<Self>[src]
Retrieve result and reset hasher instance.
This method sometimes can be more efficient compared to hasher re-creation.
fn reset(&mut self)[src]
Reset hasher instance to its initial state.
fn output_size() -> usize[src]
Get output size of the hasher
fn digest(data: &[u8]) -> Output<Self>[src]
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
impl<D: Update + FixedOutput + Reset + Clone + Default> Digest for D[src]
impl<D: Update + FixedOutput + Reset + Clone + Default> Digest for D[src]type OutputSize = Self::OutputSize
fn new() -> Self[src]
fn update(&mut self, data: impl AsRef<[u8]>)[src]
fn chain(self, data: impl AsRef<[u8]>) -> Self where
Self: Sized, [src]
Self: Sized,