[][src]Trait multihash::StatefulHasher

pub trait StatefulHasher: Default + Send + Sync {
    type Size: Size;
    type Digest: Digest<Self::Size>;
    pub fn update(&mut self, input: &[u8]);
pub fn finalize(&self) -> Self::Digest;
pub fn reset(&mut self); }

Trait implemented by a hash function implementation.

Associated Types

type Size: Size[src]

The maximum Digest size for that hasher (it is stack allocated).

type Digest: Digest<Self::Size>[src]

The Digest type to distinguish the output of different Hasher implementations.

Loading content...

Required methods

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

Consume input and update internal state.

pub fn finalize(&self) -> Self::Digest[src]

Returns the final digest.

pub fn reset(&mut self)[src]

Reset the internal hasher state.

Loading content...

Implementors

impl StatefulHasher for Keccak224[src]

type Size = U28

type Digest = KeccakDigest<Self::Size>

impl StatefulHasher for Keccak256[src]

type Size = U32

type Digest = KeccakDigest<Self::Size>

impl StatefulHasher for Keccak384[src]

type Size = U48

type Digest = KeccakDigest<Self::Size>

impl StatefulHasher for Keccak512[src]

type Size = U64

type Digest = KeccakDigest<Self::Size>

impl StatefulHasher for Sha2_256[src]

type Size = U32

type Digest = Sha2Digest<Self::Size>

impl StatefulHasher for Sha2_512[src]

type Size = U64

type Digest = Sha2Digest<Self::Size>

impl StatefulHasher for Sha3_224[src]

type Size = U28

type Digest = Sha3Digest<Self::Size>

impl StatefulHasher for Sha3_256[src]

type Size = U32

type Digest = Sha3Digest<Self::Size>

impl StatefulHasher for Sha3_384[src]

type Size = U48

type Digest = Sha3Digest<Self::Size>

impl StatefulHasher for Sha3_512[src]

type Size = U64

type Digest = Sha3Digest<Self::Size>

impl<S: Size> StatefulHasher for Blake2bHasher<S>[src]

type Size = S

type Digest = Blake2bDigest<Self::Size>

impl<S: Size> StatefulHasher for Blake2sHasher<S>[src]

type Size = S

type Digest = Blake2sDigest<Self::Size>

impl<S: Size> StatefulHasher for Blake3Hasher<S>[src]

type Size = S

type Digest = Blake3Digest<Self::Size>

impl<S: Size> StatefulHasher for IdentityHasher<S>[src]

type Size = S

type Digest = IdentityDigest<Self::Size>

Loading content...