core_api |
|
|
core_api.rs |
Low-level traits operating on blocks and wrappers around them.
Usage of traits in this module in user code is discouraged. Instead use
core algorithm wrapped by the wrapper types, which implement the
higher-level traits. |
4218 |
dev |
|
|
dev.rs |
Development-related functionality |
2002 |
digest.rs |
|
6717 |
lib.rs |
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`][std::io::Write]. The latter is
feature-gated behind `std` feature, which is usually enabled by default
by hash implementation crates. |
10639 |
mac.rs |
|
8359 |