[−][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. |