This crate provides traits which describe functionality of cryptographic hash functions.
Traits in this repository are organized into high-level convenience traits, mid-level traits which expose more fine-grained functionality, and low-level traits intended to only be used by algorithm implementations:
- High-level convenience traits:
DynDigest. They are wrappers around lower-level traits for most common hash-function use-cases.
- Mid-level traits:
ExtendableOutput. These traits atomically describe available functionality of hash function implementations.
- Low-level traits:
ExtendableOutputDirty. These traits are intended to be implemented by low-level algorithm providers only and simplify the amount of work implementers need to do and therefore shouldn't be used in application-level code.
Additionally hash functions implement traits from the standard library:
Write. The latter is feature-gated behind
which is usually enabled by default by hash implementation crates.
Digest trait is the most commonly used trait.
Type aliases for many constants.
The error type for variable hasher initialization
Trait to indicate that digest function processes data in blocks of size
Trait which describes extendable-output functions (XOF).
Trait for extendable-output function (XOF) implementations to use to retrieve the hash output.
Trait for returning digest result with the fixed size
Trait for fixed-output digest implementations to use to retrieve the hash output.
Trait for resetting hash instances
Trait for updating digest state with input data.
Trait for returning digest result with the variable size
Trait for variable-sized output digest implementations to use to retrieve the hash output.
Trait for describing readers which are used to extract extendable output from XOF (extendable-output function) result.
Output of a