Trait noise_protocol::Hash
source · pub trait Hash: Default {
type Block: U8Array;
type Output: U8Array;
// Required methods
fn name() -> &'static str;
fn input(&mut self, data: &[u8]);
fn result(&mut self) -> Self::Output;
// Provided methods
fn block_len() -> usize { ... }
fn hash_len() -> usize { ... }
fn reset(&mut self) { ... }
fn hash(data: &[u8]) -> Self::Output { ... }
fn hmac_many(key: &[u8], data: &[&[u8]]) -> Self::Output { ... }
fn hmac(key: &[u8], data: &[u8]) -> Self::Output { ... }
fn hkdf(
chaining_key: &[u8],
input_key_material: &[u8]
) -> (Self::Output, Self::Output) { ... }
fn hkdf3(
chaining_key: &[u8],
input_key_material: &[u8]
) -> (Self::Output, Self::Output, Self::Output) { ... }
}
Expand description
A hash function.
Required Associated Types§
Required Methods§
Provided Methods§
sourcefn hmac_many(key: &[u8], data: &[&[u8]]) -> Self::Output
fn hmac_many(key: &[u8], data: &[&[u8]]) -> Self::Output
Calculate HMAC-THIS-HASH, with some key
and several messages.
sourcefn hmac(key: &[u8], data: &[u8]) -> Self::Output
fn hmac(key: &[u8], data: &[u8]) -> Self::Output
Calculate HMAC-THIS-HASH, with some key
and a message.
Object Safety§
This trait is not object safe.