Struct chaskey::Digester [] [src]

pub struct Digester<P> {
    // some fields omitted
}

An incremental Chaskey digester. This is a Hasher so you can interact with it as you would do with one of them. Additionally you may use Digester's own finish method to get a full 128-bit Tag.

Methods

impl<P: Permutation> Digester<P>
[src]

fn new(key: [u32; 4]) -> Digester<P>

Initialize a new Digester (8 rounds) digester with the given key.

fn reset(&mut self)

Reset the digester to its initial state, so it is ready to authenticate a new message with the same key as when initialized.

fn write(&mut self, bytes: &[u8])

Write data to the digester.

fn finish(&self) -> Tag

Trait Implementations

impl<P: Permutation> Hasher for Digester<P>
[src]

fn write(&mut self, bytes: &[u8])

Writes some data into this Hasher

fn finish(&self) -> u64

Completes a round of hashing, producing the output hash generated.

fn write_u8(&mut self, i: u8)
1.3.0

Write a single u8 into this hasher

fn write_u16(&mut self, i: u16)
1.3.0

Write a single u16 into this hasher.

fn write_u32(&mut self, i: u32)
1.3.0

Write a single u32 into this hasher.

fn write_u64(&mut self, i: u64)
1.3.0

Write a single u64 into this hasher.

fn write_usize(&mut self, i: usize)
1.3.0

Write a single usize into this hasher.

fn write_i8(&mut self, i: i8)
1.3.0

Write a single i8 into this hasher.

fn write_i16(&mut self, i: i16)
1.3.0

Write a single i16 into this hasher.

fn write_i32(&mut self, i: i32)
1.3.0

Write a single i32 into this hasher.

fn write_i64(&mut self, i: i64)
1.3.0

Write a single i64 into this hasher.

fn write_isize(&mut self, i: isize)
1.3.0

Write a single isize into this hasher.