mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #26390: Fix and test pbkdf2_hmac() parameter names
Based on patch by Daan Bakker.
This commit is contained in:
parent
8c16cb9f65
commit
bc85e35fe6
2 changed files with 10 additions and 6 deletions
|
@ -185,22 +185,23 @@ brute-force attacks. A good password hashing function must be tunable, slow, and
|
|||
include a `salt <https://en.wikipedia.org/wiki/Salt_%28cryptography%29>`_.
|
||||
|
||||
|
||||
.. function:: pbkdf2_hmac(name, password, salt, rounds, dklen=None)
|
||||
.. function:: pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None)
|
||||
|
||||
The function provides PKCS#5 password-based key derivation function 2. It
|
||||
uses HMAC as pseudorandom function.
|
||||
|
||||
The string *name* is the desired name of the hash digest algorithm for
|
||||
The string *hash_name* is the desired name of the hash digest algorithm for
|
||||
HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as
|
||||
buffers of bytes. Applications and libraries should limit *password* to
|
||||
a sensible value (e.g. 1024). *salt* should be about 16 or more bytes from
|
||||
a sensible length (e.g. 1024). *salt* should be about 16 or more bytes from
|
||||
a proper source, e.g. :func:`os.urandom`.
|
||||
|
||||
The number of *rounds* should be chosen based on the hash algorithm and
|
||||
computing power. As of 2013, at least 100,000 rounds of SHA-256 is suggested.
|
||||
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.
|
||||
|
||||
*dklen* is the length of the derived key. If *dklen* is ``None`` then the
|
||||
digest size of the hash algorithm *name* is used, e.g. 64 for SHA-512.
|
||||
digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512.
|
||||
|
||||
>>> import hashlib, binascii
|
||||
>>> dk = hashlib.pbkdf2_hmac('sha256', b'password', b'salt', 100000)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue