a proper source, e.g. :func:`os.urandom`.
The number of *iterations* should be chosen based on the hash algorithm and
- computing power. As of 2013, at least 100,000 iterations of SHA-256 are
- suggested.
+ computing power. As of 2022, hundreds of thousands of iterations of SHA-256
+ are suggested. For rationale as to why and how to choose what is best for
+ your application, read *Appendix A.2.2* of NIST-SP-800-132_.
*dklen* is the length of the derived key. If *dklen* is ``None`` then the
digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512.
.. _SHA-3: https://en.wikipedia.org/wiki/NIST_hash_function_competition
.. _ChaCha: https://cr.yp.to/chacha.html
.. _pyblake2: https://pythonhosted.org/pyblake2/
+.. _NIST-SP-800-132: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf
https://www.ietf.org/rfc/rfc8018.txt
PKCS #5: Password-Based Cryptography Specification Version 2.1
+
+ https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf
+ NIST Recommendation for Password-Based Key Derivation.