Implements PBKDF2 as defined in RFC 2898, section 5.
Implements PBKDF2 as defined in RFC 2898, section 5.2
HMAC+SHA256 is used as the default pseudo random function.
Right now 20,000 iterations is the strictly recommended default minimum. It takes 100ms on a i5 M-580 2.6GHz CPU. The minimum increases every year, please keep that in mind.
the password to encrypt
the NIST recommends salt that is at least 128 bits(16 bytes) long (http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf)
the number of encryption iterations
derived-key length
HMAC+SHA512 is the default and note that HMAC+SHA1 is now considered weak
the hashed password