MacBuilder

Trait MacBuilder 

Source
pub trait MacBuilder<'a, M: Mac>: Sized {
    // Required methods
    fn update(self, data: &'a [u8]) -> Result<Self>;
    fn update_multi(self, data: &[&'a [u8]]) -> Result<Self>;
    fn finalize(self) -> Result<M::Tag>;
    fn verify(self, expected: &'a [u8]) -> Result<bool>;
}
Expand description

Operation for MAC operations

Required Methods§

Source

fn update(self, data: &'a [u8]) -> Result<Self>

Add data to the MAC computation

Source

fn update_multi(self, data: &[&'a [u8]]) -> Result<Self>

Process multiple data chunks

Source

fn finalize(self) -> Result<M::Tag>

Finalize and return the MAC tag

Source

fn verify(self, expected: &'a [u8]) -> Result<bool>

Verify against an expected tag

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, M: Mac> MacBuilder<'a, M> for GenericMacBuilder<'a, M>