How to implement pbkdf2. The output is considered to be a cryptographic key.