logo
Expand description

This crate provides traits which describe functionality of cryptographic hash functions.

Traits in this repository can be separated into two levels:

  • Low level traits: Input, BlockInput, Reset, FixedOutput, VariableOutput, ExtendableOutput. These traits atomically describe available functionality of hash function implementations.
  • Convenience trait: Digest, DynDigest. They are wrappers around low level traits for most common hash-function use-cases.

Additionally hash functions implement traits from std: Default, Clone, Write. (the latter depends on enabled-by-default std crate feature)

The Digest trait is the most commonly used trait.

Re-exports

pub extern crate generic_array;

Macros

Implements std::io::Write trait for implementer of Input

Structs

The error type for variable hasher initialization

Traits

Trait to indicate that digest function processes data in blocks of size BlockSize.

The Digest trait specifies an interface common for digest functions.

The DynDigest trait is a modification of Digest trait suitable for trait objects.

Trait which describes extendable-output functions (XOF).

Trait for returning digest result with the fixed size

Trait for processing input data

Trait for resetting hash instances

Trait for returning digest result with the variable size

Trait for describing readers which are used to extract extendable output from XOF (extendable-output function) result.