[][src]Trait multihash::Hasher

pub trait Hasher: Default {
    type Size: Size;
    type Digest: Digest<Self::Size>;
    fn update(&mut self, input: &[u8]);
fn finalize(&self) -> Self::Digest;
fn reset(&mut self); fn size() -> u8 { ... }
fn digest(input: &[u8]) -> Self::Digest
    where
        Self: Sized
, { ... } }

Trait implemented by a hash function implementation.

Associated Types

type Size: Size

Digest size.

type Digest: Digest<Self::Size>

Digest type.

Loading content...

Required methods

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

Consume input and update internal state.

fn finalize(&self) -> Self::Digest

Returns the internal state digest.

fn reset(&mut self)

Reset the internal hasher state.

Loading content...

Provided methods

fn size() -> u8

Returns the size of the digest.

fn digest(input: &[u8]) -> Self::Digest where
    Self: Sized

Returns the digest of the input.

Loading content...

Implementors

impl Hasher for Keccak224[src]

type Size = U28

type Digest = KeccakDigest<Self::Size>

impl Hasher for Keccak256[src]

type Size = U32

type Digest = KeccakDigest<Self::Size>

impl Hasher for Keccak384[src]

type Size = U48

type Digest = KeccakDigest<Self::Size>

impl Hasher for Keccak512[src]

type Size = U64

type Digest = KeccakDigest<Self::Size>

impl Hasher for Sha1[src]

type Size = U20

type Digest = Sha1Digest<Self::Size>

impl Hasher for Sha2_256[src]

type Size = U32

type Digest = Sha2Digest<Self::Size>

impl Hasher for Sha2_512[src]

type Size = U64

type Digest = Sha2Digest<Self::Size>

impl Hasher for Sha3_224[src]

type Size = U28

type Digest = Sha3Digest<Self::Size>

impl Hasher for Sha3_256[src]

type Size = U32

type Digest = Sha3Digest<Self::Size>

impl Hasher for Sha3_384[src]

type Size = U48

type Digest = Sha3Digest<Self::Size>

impl Hasher for Sha3_512[src]

type Size = U64

type Digest = Sha3Digest<Self::Size>

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

type Size = S

type Digest = Blake2bDigest<Self::Size>

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

type Size = S

type Digest = Blake2sDigest<Self::Size>

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

type Size = S

type Digest = IdentityDigest<Self::Size>

impl<S: Size> Hasher for StrobeHasher<S>[src]

type Size = S

type Digest = StrobeDigest<Self::Size>

Loading content...