Crate digest[−][src]
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:
Digest
,DynDigest
. They are wrappers around lower-level traits for most common hash-function use-cases. - Mid-level traits:
Update
,FixedOutput
,ExtendableOutput
,Reset
. These traits atomically describe available functionality of hash function implementations. - 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 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:
Default
, Clone
, Write
. The latter is
feature-gated behind std
feature, which is usually enabled by default
by hash implementation crates.
The Digest
trait is the most commonly used trait.
Re-exports
pub use block_buffer; |
pub use generic_array; |
Modules
consts | Type aliases for many constants. |
core_api | core-api Low-level core API traits. |
dev | dev Development-related functionality |
Macros
bench | dev Define benchmark |
new_test | dev Define test |
Structs
GenericArray | Struct representing a generic array - |
InvalidBufferLength | alloc Buffer length is not equal to the hash output size. |
InvalidOutputSize | The error type for variable hasher initialization. |
Traits
Digest | The |
DynDigest | alloc The |
ExtendableOutput | Trait which describes extendable-output functions (XOF). |
FixedOutput | Trait for returning digest result with the fixed size |
Reset | Trait for resetting hasher instances |
Update | Trait for updating hasher state with input data. |
VariableOutput | Trait for variable output size hash functions. |
XofReader | Trait for describing readers which are used to extract extendable output from XOF (extendable-output function) result. |
Type Definitions
Output | Fixed of fixed-sized hash-function used by |