Crate digest

source ·
Expand description

This crate provides traits which describe functionality of cryptographic hash functions and Message Authentication algorithms.

Traits in this repository are organized into the following levels:

  • High-level convenience traits: Digest, DynDigest, [Mac]. Wrappers around lower-level traits for most common use-cases. Users should usually prefer using these traits.
  • Mid-level traits: Update, FixedOutput, FixedOutputReset, ExtendableOutput, ExtendableOutputReset, XofReader, VariableOutput, Reset, [KeyInit], and [InnerInit]. These traits atomically describe available functionality of an algorithm.
  • Marker traits: HashMarker, [MacMarker]. Used to distinguish different algorithm classes.
  • Low-level traits defined in the core_api module. 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. Usually they should not be used in application-level code.

Additionally hash functions implement traits from the standard library: Default, Clone, Write. The latter is feature-gated behind std feature, which is usually enabled by default by hash implementation crates.

Re-exports

Modules

  • Type aliases for many constants.
  • Low-level traits operating on blocks and wrappers around them.
  • digest 🔒

Macros

Structs

Traits

  • Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
  • Modification of the Digest trait suitable for trait objects.
  • Trait for hash functions with extendable-output (XOF).
  • Trait for hash functions with extendable-output (XOF) able to reset themselves.
  • Trait for hash functions with fixed-size output.
  • Trait for hash functions with fixed-size output able to reset themselves.
  • Marker trait for cryptographic hash functions.
  • Types which return data with the given size.
  • Resettable types.
  • Types which consume data with byte granularity.
  • Trait for hash functions with variable-size output.
  • Trait for hash functions with variable-size output able to reset themselves.
  • Trait for reader types which are used to extract extendable output from a XOF (extendable-output function) result.

Type Aliases