Struct Hmac

Source
pub struct Hmac<'d> { /* private fields */ }
Available on crate feature unstable only.
Expand description

Provides an interface for interacting with the HMAC hardware peripheral. It allows users to compute HMACs for cryptographic purposes, ensuring data integrity and authenticity.

Implementations§

Source§

impl<'d> Hmac<'d>

Source

pub fn new(hmac: impl Peripheral<P = HMAC> + 'd) -> Self

Creates a new instance of the HMAC peripheral.

Source

pub fn init(&mut self)

Step 1. Enable HMAC module.

Before these steps, the user shall set the peripheral clocks bits for HMAC and SHA peripherals and clear the corresponding peripheral reset bits.

Source

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

Step 2. Configure HMAC keys and key purposes.

Source

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

Process the msg block after block

Call this function as many times as necessary (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> 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> !UnwindSafe for Hmac<'d>

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.