Function ring::pbkdf2::derive

source · []
pub fn derive(
    algorithm: Algorithm,
    iterations: NonZeroU32,
    salt: &[u8],
    secret: &[u8],
    out: &mut [u8]
)
Expand description

Fills out with the key derived using PBKDF2 with the given inputs.

Do not use derive as part of verifying a secret; use verify instead, to minimize the effectiveness of timing attacks.

out.len() must be no larger than the digest length * (2**32 - 1), per the PBKDF2 specification.

ParameterRFC 2898 Section 5.2 Term
digest_algPRF (HMAC with the given digest algorithm)
iterationsc (iteration count)
saltS (salt)
secretP (password)
outdk (derived key)
out.len()dkLen (derived key length)

Panics

derive panics if out.len() is larger than (2**32 - 1) * the digest algorithm’s output length, per the PBKDF2 specification.