pub struct Context {
inner: Context,
outer: BlockContext,
}
Expand description
A context for multi-step (Init-Update-Finish) HMAC signing.
Use sign
for single-step HMAC signing.
Fields§
§inner: Context
§outer: BlockContext
Implementations§
source§impl Context
impl Context
sourcepub fn with_key(signing_key: &Key) -> Self
pub fn with_key(signing_key: &Key) -> Self
Constructs a new HMAC signing context using the given digest algorithm and key.
sourcepub fn update(&mut self, data: &[u8])
pub fn update(&mut self, data: &[u8])
Updates the HMAC with all the data in data
. update
may be called
zero or more times until finish
is called.
sourcepub fn sign(self) -> Tag
pub fn sign(self) -> Tag
Finalizes the HMAC calculation and returns the HMAC value. sign
consumes the context so it cannot be (mis-)used after sign
has been
called.
It is generally not safe to implement HMAC verification by comparing
the return value of sign
to a tag. Use verify
for verification
instead.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)