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.
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnwindSafe for State
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more