pub trait Mac: Algorithm + Clone {
type Tag: AsRef<[u8]> + AsMut<[u8]> + Copy;
const TAG_LEN: usize;
// Required methods
fn new(key: &[u8]) -> Result<Self>
where Self: Sized;
fn update(&mut self, data: &[u8]);
fn finalize(self) -> Self::Tag;
// Provided methods
fn mac(key: &[u8], data: &[u8]) -> Result<Self::Tag>
where Self: Sized { ... }
fn verify(key: &[u8], data: &[u8], tag: &[u8]) -> Result<()>
where Self: Sized { ... }
}Expand description
A keyed message authentication code.
Required Associated Constants§
Required Associated Types§
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".