[−][src]Crate blake3
The official Rust implementation of the BLAKE3 cryptographic hash function.
Examples
// Hash an input all at once. let hash1 = blake3::hash(b"foobarbaz"); // Hash an input incrementally. let mut hasher = blake3::Hasher::new(); hasher.update(b"foo"); hasher.update(b"bar"); hasher.update(b"baz"); let hash2 = hasher.finalize(); assert_eq!(hash1, hash2); // Extended output. OutputReader also implements Read and Seek. let mut output = [0; 1000]; let mut output_reader = hasher.finalize_xof(); output_reader.fill(&mut output); assert_eq!(&output[..32], hash1.as_bytes());
Structs
| Hash | An output of the default size, 32 bytes, which provides constant-time equality checking. |
| Hasher | An incremental hash state that can accept any number of writes. |
| OutputReader | An incremental reader for extended output, returned by
|
Constants
| KEY_LEN | The number of bytes in a key, 32. |
| OUT_LEN | The number of bytes in a |
Functions
| derive_key | The key derivation function. |
| hash | The default hash function. |
| keyed_hash | The keyed hash function. |