Struct esp32c3_hal::hmac::Hmac
source · pub struct Hmac<'d> { /* private fields */ }
Implementations§
source§impl<'d> Hmac<'d>
impl<'d> Hmac<'d>
pub fn new(hmac: impl Peripheral<P = HMAC> + 'd) -> Hmac<'d>
pub fn free(self) -> PeripheralRef<'d, HMAC>
sourcepub fn init(&mut self)
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.
sourcepub fn configure(
&mut self,
m: HmacPurpose,
key_id: KeyId
) -> Result<(), Error<Error>>
pub fn configure( &mut self, m: HmacPurpose, key_id: KeyId ) -> Result<(), Error<Error>>
Step 2. Configure HMAC keys and key purposes.
sourcepub fn update<'a>(
&mut self,
msg: &'a [u8]
) -> Result<&'a [u8], Error<Infallible>>
pub fn update<'a>( &mut self, msg: &'a [u8] ) -> Result<&'a [u8], Error<Infallible>>
Process the msg block after block
Call this function as many times as necessary (msg.len() > 0)
pub fn finalize(&mut self, output: &mut [u8]) -> Result<(), Error<Infallible>>
Auto Trait Implementations§
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§
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