Struct ring::hmac::Key

source · []
pub struct Key { /* private fields */ }
Expand description

A key to use for HMAC signing.

Implementations

Generate an HMAC signing key using the given digest algorithm with a random value generated from rng.

The key will be digest_alg.output_len bytes long, based on the recommendation in RFC 2104 Section 3.

Construct an HMAC signing key using the given digest algorithm and key value.

key_value should be a value generated using a secure random number generator (e.g. the key_value output by SealingKey::generate_serializable()) or derived from a random key by a key derivation function (e.g. ring::hkdf). In particular, key_value shouldn’t be a password.

As specified in RFC 2104, if key_value is shorter than the digest algorithm’s block length (as returned by digest::Algorithm::block_len, not the digest length returned by digest::Algorithm::output_len) then it will be padded with zeros. Similarly, if it is longer than the block length then it will be compressed using the digest algorithm.

You should not use keys larger than the digest_alg.block_len because the truncation described above reduces their strength to only digest_alg.output_len * 8 bits. Support for such keys is likely to be removed in a future version of ring.

The digest algorithm for the key.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.