pub struct Sha512Internal<PARAMS: SHA2Params> { /* private fields */ }Implementations§
Source§impl<PARAMS: SHA2Params> Sha512Internal<PARAMS>
impl<PARAMS: SHA2Params> Sha512Internal<PARAMS>
Trait Implementations§
Source§impl<PARAMS: Clone + SHA2Params> Clone for Sha512Internal<PARAMS>
impl<PARAMS: Clone + SHA2Params> Clone for Sha512Internal<PARAMS>
Source§fn clone(&self) -> Sha512Internal<PARAMS>
fn clone(&self) -> Sha512Internal<PARAMS>
Returns a duplicate of the value. Read more
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<PARAMS: SHA2Params> Default for Sha512Internal<PARAMS>
impl<PARAMS: SHA2Params> Default for Sha512Internal<PARAMS>
Source§impl<PARAMS: SHA2Params> Drop for Sha512Internal<PARAMS>
impl<PARAMS: SHA2Params> Drop for Sha512Internal<PARAMS>
Source§impl<PARAMS: SHA2Params> Hash for Sha512Internal<PARAMS>
impl<PARAMS: SHA2Params> Hash for Sha512Internal<PARAMS>
Source§fn block_bitlen(&self) -> usize
fn block_bitlen(&self) -> usize
As per FIPS 180-4 Figure 1
Source§fn do_final_partial_bits(
self,
partial_byte: u8,
num_partial_bits: usize,
) -> Result<Vec<u8>, HashError>
fn do_final_partial_bits( self, partial_byte: u8, num_partial_bits: usize, ) -> Result<Vec<u8>, HashError>
TODO: This is defined in FIPS 180-4 s. 5.1.2 TODO: https://pages.nist.gov/ACVP/draft-celi-acvp-sha.html TODO: Could implement if there is demand.
Source§fn do_final_partial_bits_out(
self,
partial_byte: u8,
num_partial_bits: usize,
output: &mut [u8],
) -> Result<usize, HashError>
fn do_final_partial_bits_out( self, partial_byte: u8, num_partial_bits: usize, output: &mut [u8], ) -> Result<usize, HashError>
TODO: This is defined in FIPS 180-4 s. 5.1.2 TODO: https://pages.nist.gov/ACVP/draft-celi-acvp-sha.html TODO: Could implement if there is demand.
Source§fn output_len(&self) -> usize
fn output_len(&self) -> usize
The size of the output in bytes.
Source§fn hash(self, data: &[u8]) -> Vec<u8> ⓘ
fn hash(self, data: &[u8]) -> Vec<u8> ⓘ
A static one-shot API that hashes the provided data.
data can be of any length, including zero bytes.Source§fn hash_out(self, data: &[u8], output: &mut [u8]) -> usize
fn hash_out(self, data: &[u8], output: &mut [u8]) -> usize
A static one-shot API that hashes the provided data into the provided output slice.
data can be of any length, including zero bytes.
The return value is the number of bytes written.Source§fn do_update(&mut self, block: &[u8])
fn do_update(&mut self, block: &[u8])
Provide a chunk of data to be absorbed into the hashes.
data can be of any length, including zero bytes.
do_update() is intended to be used as part of a streaming interface, and so may by called multiple times.Source§fn do_final(self) -> Vec<u8> ⓘ
fn do_final(self) -> Vec<u8> ⓘ
Finish absorbing input and produce the hashes output.
Consumes self, so this must be the final call to this object.
Source§fn do_final_out(self, output: &mut [u8]) -> usize
fn do_final_out(self, output: &mut [u8]) -> usize
Finish absorbing input and produce the hashes output.
Consumes self, so this must be the final call to this object. Read more
Source§fn max_security_strength(&self) -> SecurityStrength
fn max_security_strength(&self) -> SecurityStrength
Returns the maximum security strength that this KDF is capable of supporting, based on the underlying primitives.
Auto Trait Implementations§
impl<PARAMS> Freeze for Sha512Internal<PARAMS>
impl<PARAMS> RefUnwindSafe for Sha512Internal<PARAMS>where
PARAMS: RefUnwindSafe,
impl<PARAMS> Send for Sha512Internal<PARAMS>where
PARAMS: Send,
impl<PARAMS> Sync for Sha512Internal<PARAMS>where
PARAMS: Sync,
impl<PARAMS> Unpin for Sha512Internal<PARAMS>where
PARAMS: Unpin,
impl<PARAMS> UnwindSafe for Sha512Internal<PARAMS>where
PARAMS: UnwindSafe,
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