pub struct HmacEngine<T: Hash> { /* private fields */ }Expand description
Pair of underlying hash engines, used for the inner and outer hash of HMAC.
Implementations§
Source§impl<T: Hash> HmacEngine<T>
impl<T: Hash> HmacEngine<T>
Sourcepub fn new(key: &[u8]) -> HmacEngine<T> ⓘ
pub fn new(key: &[u8]) -> HmacEngine<T> ⓘ
Constructs a new keyed HMAC from key.
We only support underlying hashes whose block sizes are ≤ 128 bytes.
§Panics
Larger hashes will result in a panic.
Sourcepub fn from_inner_engines(
iengine: T::Engine,
oengine: T::Engine,
) -> HmacEngine<T> ⓘ
pub fn from_inner_engines( iengine: T::Engine, oengine: T::Engine, ) -> HmacEngine<T> ⓘ
A special constructor giving direct access to the underlying “inner” and “outer” engines.
Trait Implementations§
Source§impl<T: Clone + Hash> Clone for HmacEngine<T>
impl<T: Clone + Hash> Clone for HmacEngine<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Hash> Default for HmacEngine<T>
impl<T: Hash> Default for HmacEngine<T>
Source§impl<T: Hash> HashEngine for HmacEngine<T>
impl<T: Hash> HashEngine for HmacEngine<T>
Source§const BLOCK_SIZE: usize = <T::Engine>::BLOCK_SIZE
const BLOCK_SIZE: usize = <T::Engine>::BLOCK_SIZE
Length of the hash’s internal block size, in bytes.
Source§type MidState = HmacMidState<T>
type MidState = HmacMidState<T>
Byte array representing the internal state of the hash engine.
Source§fn midstate(&self) -> Self::MidState
fn midstate(&self) -> Self::MidState
Outputs the midstate of the hash engine. This function should not be
used directly unless you really know what you’re doing.
Source§fn n_bytes_hashed(&self) -> usize
fn n_bytes_hashed(&self) -> usize
Return the number of bytes already n_bytes_hashed(inputted).
Source§impl<T: Hash> Write for HmacEngine<T>
impl<T: Hash> Write for HmacEngine<T>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Source§impl<T: Hash> Write for HmacEngine<T>
impl<T: Hash> Write for HmacEngine<T>
Auto Trait Implementations§
impl<T> Freeze for HmacEngine<T>
impl<T> RefUnwindSafe for HmacEngine<T>
impl<T> Send for HmacEngine<T>
impl<T> Sync for HmacEngine<T>
impl<T> Unpin for HmacEngine<T>
impl<T> UnwindSafe for HmacEngine<T>
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