[−][src]Crate kangarootwelve_xkcp
A Rust wrapper around the eXtended Keccak Code Package implementation of the KangarooTwelve cryptographic hash function.
Examples
// Hash an input all at once. let hash1 = kangarootwelve_xkcp::hash(b"foobarbaz"); // Hash an input incrementally. let mut hasher = kangarootwelve_xkcp::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. let mut hasher = kangarootwelve_xkcp::Hasher::new(); hasher.update(b"foobarbaz"); let mut output_reader = hasher.finalize_xof(); let mut output = [0; 1000]; output_reader.squeeze(&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
RATE | The number of bytes hashed or output per block. |
Functions
hash | Hash a slice of bytes all at once. For multiple writes, the optional
customization string, or extended output bytes, see |