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:
Reset. These traits atomically describe available functionality of hash function implementations.
- Low-level traits defined in the
core_apimodule. These traits operate at a block-level and do not contain any built-in buffering. They are intended to be implemented by low-level algorithm providers only and simplify the amount of work implementers need to do and therefore usually shouldn't be used in application-level code.
Additionally hash functions implement traits from the standard library:
Write. The latter is
std feature, which is usually enabled by default
by hash implementation crates.
Digest trait is the most commonly used trait.
Type aliases for many constants.
Low-level core API traits.
Struct representing a generic array -
Buffer length is not equal to the hash output size.
The error type for variable hasher initialization.
Trait which describes extendable-output functions (XOF).
Trait for returning digest result with the fixed size
Trait for resetting hasher instances
Trait for updating hasher state with input data.
Trait for variable output size hash functions.
Trait for describing readers which are used to extract extendable output from XOF (extendable-output function) result.
Fixed of fixed-sized hash-function used by