Function ring::pbkdf2::derive [] [src]

pub fn derive(
    prf: &'static PRF,
    iterations: u32,
    salt: &[u8],
    secret: &[u8],
    out: &mut [u8]
)

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 output length of the digest function used in the PRF algorithm * (2**32 - 1), per the PBKDF2 specification.

Parameter RFC 2898 Section 5.2 Term
prf PRF
iterations c (iteration count)
salt S (salt)
secret P (password)
out dk (derived key)
out.len() dkLen (derived key length)

C analog: PKCS5_PBKDF2_HMAC

Panics

derive panics if iterations < 1.

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