Struct blake2b_simd::State
source · pub struct State { /* private fields */ }
Expand description
An incremental hasher for BLAKE2b.
To construct a State
with non-default parameters, see Params::to_state
.
Example
use blake2b_simd::{State, blake2b};
let mut state = blake2b_simd::State::new();
state.update(b"foo");
assert_eq!(blake2b(b"foo"), state.finalize());
state.update(b"bar");
assert_eq!(blake2b(b"foobar"), state.finalize());
Implementations§
source§impl State
impl State
sourcepub fn update(&mut self, input: &[u8]) -> &mut Self
pub fn update(&mut self, input: &[u8]) -> &mut Self
Add input to the hash. You can call update
any number of times.
sourcepub fn finalize(&self) -> Hash
pub fn finalize(&self) -> Hash
Finalize the state and return a Hash
. This method is idempotent, and calling it multiple
times will give the same result. It’s also possible to update
with more input in between.
sourcepub fn set_last_node(&mut self, last_node: bool) -> &mut Self
pub fn set_last_node(&mut self, last_node: bool) -> &mut Self
Set a flag indicating that this is the last node of its level in a tree hash. This is
equivalent to Params::last_node
, except that it can be set at any time before calling
finalize
. That allows callers to begin hashing a node without knowing ahead of time
whether it’s the last in its level. For more details about the intended use of this flag
the BLAKE2 spec.