pub struct HmacSha256;Expand description
HMAC-SHA-256 message authentication code (32-byte tag).
Implementations§
Source§impl HmacSha256
impl HmacSha256
Sourcepub fn mac_truncated(
&self,
key: &[u8],
msg: &[u8],
out: &mut [u8],
) -> Result<(), CryptoError>
pub fn mac_truncated( &self, key: &[u8], msg: &[u8], out: &mut [u8], ) -> Result<(), CryptoError>
Compute a truncated HMAC-SHA-256 tag.
Writes the first out.len() bytes of the full 32-byte HMAC into out.
Returns CryptoError::BadInput if out.len() < 16 (minimum safe
truncation length per NIST SP 800-117).
Sourcepub fn verify_truncated(
&self,
key: &[u8],
msg: &[u8],
tag: &[u8],
) -> Result<(), CryptoError>
pub fn verify_truncated( &self, key: &[u8], msg: &[u8], tag: &[u8], ) -> Result<(), CryptoError>
Verify a truncated HMAC-SHA-256 tag in constant time.
Returns CryptoError::BadInput if tag.len() < 16, or
CryptoError::InvalidTag on mismatch.
Trait Implementations§
Source§impl Clone for HmacSha256
impl Clone for HmacSha256
Source§fn clone(&self) -> HmacSha256
fn clone(&self) -> HmacSha256
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HmacSha256
impl Debug for HmacSha256
Source§impl Default for HmacSha256
impl Default for HmacSha256
Source§fn default() -> HmacSha256
fn default() -> HmacSha256
Returns the “default value” for a type. Read more
Source§impl Mac for HmacSha256
impl Mac for HmacSha256
Source§fn key_len(&self) -> usize
fn key_len(&self) -> usize
Required key length (minimum acceptable length; MACs are often variable).
Source§fn output_len(&self) -> usize
fn output_len(&self) -> usize
Output tag length in bytes.
Source§fn mac(&self, key: &[u8], msg: &[u8], out: &mut [u8]) -> Result<(), CryptoError>
fn mac(&self, key: &[u8], msg: &[u8], out: &mut [u8]) -> Result<(), CryptoError>
Compute a MAC tag for
msg under key and write it into out.Source§fn verify(&self, key: &[u8], msg: &[u8], tag: &[u8]) -> Result<(), CryptoError>
fn verify(&self, key: &[u8], msg: &[u8], tag: &[u8]) -> Result<(), CryptoError>
Verify a MAC tag in constant time. Read more
Source§fn mac_to_vec(&self, key: &[u8], msg: &[u8]) -> Result<Vec<u8>, CryptoError>
fn mac_to_vec(&self, key: &[u8], msg: &[u8]) -> Result<Vec<u8>, CryptoError>
Convenience: compute MAC and return the tag as a
Vec<u8>.impl Copy for HmacSha256
Auto Trait Implementations§
impl Freeze for HmacSha256
impl RefUnwindSafe for HmacSha256
impl Send for HmacSha256
impl Sync for HmacSha256
impl Unpin for HmacSha256
impl UnsafeUnpin for HmacSha256
impl UnwindSafe for HmacSha256
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more