Struct ring::hmac::Key [−][src]
pub struct Key { /* fields omitted */ }
Expand description
A key to use for HMAC signing.
Implementations
impl Key
[src]
impl Key
[src]pub fn generate(
algorithm: Algorithm,
rng: &dyn SecureRandom
) -> Result<Self, Unspecified>
[src]
pub fn generate(
algorithm: Algorithm,
rng: &dyn SecureRandom
) -> Result<Self, Unspecified>
[src]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 https://tools.ietf.org/html/rfc2104#section-3.
pub fn new(algorithm: Algorithm, key_value: &[u8]) -> Self
[src]
pub fn new(algorithm: Algorithm, key_value: &[u8]) -> Self
[src]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.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more