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.
pub use generic_array;
Digesttrait specifies an interface common for digest functions.
DynDigesttrait is a modification of
Digesttrait suitable for trait objects.