Trait crypto_mac::NewMac [−][src]
pub trait NewMac: Sized { type KeySize: ArrayLength<u8>; fn new(key: &Key<Self>) -> Self; fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength> { ... } }
Expand description
Instantiate a Mac algorithm.
Associated Types
type KeySize: ArrayLength<u8>
type KeySize: ArrayLength<u8>Key size in bytes with which cipher guaranteed to be initialized.
Required methods
Provided methods
fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>
fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>Initialize new MAC instance from key with variable size.
Default implementation will accept only keys with length equal to
KeySize, but some MACs can accept range of key lengths.
Implementors
impl<T> NewMac for T where
T: FromBlockCipher,
T::Cipher: NewBlockCipher, This is supported on crate feature
cipher only.