Module digest

Source
Expand description

SHA-2 and the legacy SHA-1 digest algorithm.

If all the data is available in a single contiguous slice then the digest function should be used. Otherwise, the digest can be calculated in multiple steps using Context.

§Example

use aws_lc_rs::digest;

// Using `digest::digest`
let one_shot = digest::digest(&digest::SHA384, b"hello, world");

// Using `digest::Context`
let mut ctx = digest::Context::new(&digest::SHA384);
ctx.update(b"hello");
ctx.update(b", ");
ctx.update(b"world");
let multi_part = ctx.finish();

assert_eq!(&one_shot.as_ref(), &multi_part.as_ref());

Structs§

Algorithm
A digest algorithm.
Context
A context for multi-step (Init-Update-Finish) digest calculations.
Digest
A calculated digest value.

Constants§

MAX_BLOCK_LEN
The maximum block length (Algorithm::block_len) of all the algorithms in this module.
MAX_CHAINING_LEN
The maximum chaining length (Algorithm::chaining_len) of all the algorithms in this module.
MAX_OUTPUT_LEN
The maximum output length (Algorithm::output_len) of all the algorithms in this module.
SHA1_OUTPUT_LEN
The length of the output of SHA-1, in bytes.
SHA224_OUTPUT_LEN
The length of the output of SHA-224, in bytes.
SHA256_OUTPUT_LEN
The length of the output of SHA-256, in bytes.
SHA384_OUTPUT_LEN
The length of the output of SHA-384, in bytes.
SHA512_256_OUTPUT_LEN
The length of the output of SHA-512/256, in bytes.
SHA512_OUTPUT_LEN
The length of the output of SHA-512, in bytes.

Statics§

SHA1_FOR_LEGACY_USE_ONLY
SHA-1 as specified in FIPS 180-4. Deprecated.
SHA3_256
SHA3-256 as specified in FIPS 202.
SHA3_384
SHA3-384 as specified in FIPS 202.
SHA3_512
SHA3-512 as specified in FIPS 202.
SHA224
SHA-224 as specified in FIPS 180-4.
SHA256
SHA-256 as specified in FIPS 180-4.
SHA384
SHA-384 as specified in FIPS 180-4.
SHA512
SHA-512 as specified in FIPS 180-4.
SHA512_256
SHA-512/256 as specified in FIPS 180-4.

Functions§

digest
Returns the digest of data using the given digest algorithm.