Trait Digest
pub trait Digest: OutputSizeUser {
// Required methods
fn new() -> Self;
fn new_with_prefix(data: impl AsRef<[u8]>) -> Self;
fn update(&mut self, data: impl AsRef<[u8]>);
fn chain_update(self, data: impl AsRef<[u8]>) -> Self;
fn finalize(self) -> GenericArray<u8, Self::OutputSize>;
fn finalize_into(self, out: &mut GenericArray<u8, Self::OutputSize>);
fn finalize_reset(&mut self) -> GenericArray<u8, Self::OutputSize>
where Self: FixedOutputReset;
fn finalize_into_reset(
&mut self,
out: &mut GenericArray<u8, Self::OutputSize>,
)
where Self: FixedOutputReset;
fn reset(&mut self)
where Self: Reset;
fn output_size() -> usize;
fn digest(data: impl AsRef<[u8]>) -> GenericArray<u8, Self::OutputSize>;
}
Expand description
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
This trait wraps [Update
], [FixedOutput
], Default
, and
[HashMarker
] traits and provides additional convenience methods.
Required Methods§
fn new() -> Self
fn new() -> Self
Create new hasher instance.
fn new_with_prefix(data: impl AsRef<[u8]>) -> Self
fn new_with_prefix(data: impl AsRef<[u8]>) -> Self
Create new hasher instance which has processed the provided data.
fn chain_update(self, data: impl AsRef<[u8]>) -> Self
fn chain_update(self, data: impl AsRef<[u8]>) -> Self
Process input data in a chained manner.
fn finalize_into(self, out: &mut GenericArray<u8, Self::OutputSize>)
fn finalize_into(self, out: &mut GenericArray<u8, Self::OutputSize>)
Write result into provided array and consume the hasher instance.
fn finalize_reset(&mut self) -> GenericArray<u8, Self::OutputSize>where
Self: FixedOutputReset,
fn finalize_reset(&mut self) -> GenericArray<u8, Self::OutputSize>where
Self: FixedOutputReset,
Retrieve result and reset hasher instance.
fn finalize_into_reset(&mut self, out: &mut GenericArray<u8, Self::OutputSize>)where
Self: FixedOutputReset,
fn finalize_into_reset(&mut self, out: &mut GenericArray<u8, Self::OutputSize>)where
Self: FixedOutputReset,
Write result into provided array and reset the hasher instance.
fn reset(&mut self)where
Self: Reset,
fn reset(&mut self)where
Self: Reset,
Reset hasher instance to its initial state.
fn output_size() -> usize
fn output_size() -> usize
Get output size of the hasher
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.