Skip to main content

Hmac

Struct Hmac 

Source
pub struct Hmac<'d> { /* private fields */ }
Expand description

Provides an interface for interacting with the HMAC hardware peripheral. Computes HMACs for cryptographic purposes and ensures data integrity and authenticity.

Implementations§

Source§

impl<'d> Hmac<'d>

Source

pub fn new(hmac: HMAC<'d>) -> Self

Creates a new instance of the HMAC peripheral.

Source

pub fn init(&mut self)

Enables the HMAC module.

Before these steps, the peripheral clock bits for HMAC and SHA must be set and the corresponding peripheral reset bits must be cleared.

Source

pub fn configure(&mut self, m: HmacPurpose, key_id: KeyId) -> Result<(), Error>

Configures HMAC keys and key purposes.

Source

pub fn update<'a>(&mut self, msg: &'a [u8]) -> Result<&'a [u8], Infallible>

Processes the message block by block.

Must be called as many times as necessary while msg.len() > 0.

Source

pub fn finalize(&mut self, output: &mut [u8]) -> Result<(), Infallible>

Finalizes the HMAC computation and retrieves the resulting hash output.

Auto Trait Implementations§

§

impl<'d> !UnwindSafe for Hmac<'d>

§

impl<'d> Freeze for Hmac<'d>

§

impl<'d> RefUnwindSafe for Hmac<'d>

§

impl<'d> Send for Hmac<'d>

§

impl<'d> Sync for Hmac<'d>

§

impl<'d> Unpin for Hmac<'d>

§

impl<'d> UnsafeUnpin for Hmac<'d>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.