pub fn keyed_hash(key: &[u8; 32], input: &[u8]) -> HashExpand description
The keyed hash function.
This is suitable for use as a message authentication code, for example to
replace an HMAC instance. In that use case, the constant-time equality
checking provided by Hash is almost always a security
requirement, and callers need to be careful not to compare MACs as raw
bytes.
For an incremental version that accepts multiple writes, see Hasher::new_keyed,
Hasher::update, and Hasher::finalize. These two lines are equivalent:
let mac = blake3::keyed_hash(KEY, b"foo");
let mac = blake3::Hasher::new_keyed(KEY).update(b"foo").finalize();For output sizes other than 32 bytes, see Hasher::finalize_xof, and OutputReader.
This function is always single-threaded. For multithreading support, see
Hasher::update_rayon.