[][src]Struct blake2s_simd::State

pub struct State { /* fields omitted */ }

An incremental hasher for BLAKE2s.

To construct a State with non-default parameters, see Params::to_state.

Example

use blake2s_simd::{State, blake2s};

let mut state = blake2s_simd::State::new();

state.update(b"foo");
assert_eq!(blake2s(b"foo"), state.finalize());

state.update(b"bar");
assert_eq!(blake2s(b"foobar"), state.finalize());

Methods

impl State[src]

pub fn new() -> Self[src]

Equivalent to State::default() or Params::default().to_state().

pub fn update(&mut self, input: &[u8]) -> &mut Self[src]

Add input to the hash. You can call update any number of times.

pub fn finalize(&self) -> Hash[src]

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.

pub fn set_last_node(&mut self, last_node: bool) -> &mut Self[src]

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.

pub fn count(&self) -> u64[src]

Return the total number of bytes input so far.

Note that count doesn't include the bytes of the key block, if any. It's exactly the total number of input bytes fed to update.

Trait Implementations

impl Default for State[src]

impl Clone for State[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for State[src]

impl Write for State[src]

fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>1.36.0[src]

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>1.0.0[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Auto Trait Implementations

impl Sync for State

impl Send for State

impl Unpin for State

impl UnwindSafe for State

impl RefUnwindSafe for State

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]