Skip to main content

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".

Implementors§

Source§

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