Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 22 additions & 15 deletions Doc/library/secrets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,39 +62,44 @@ The :mod:`!secrets` module provides functions for generating secure
tokens, suitable for applications such as password resets,
hard-to-guess URLs, and similar.

.. function:: token_bytes([nbytes=None])
.. function:: token_bytes(nbytes=None)

Return a random byte string containing *nbytes* number of bytes.
If *nbytes* is ``None`` or not supplied, a reasonable default is
used.

If *nbytes* is not specified or ``None``, :const:`DEFAULT_ENTROPY`
is used instead.

.. doctest::

>>> token_bytes(16) #doctest:+SKIP
>>> token_bytes(16) # doctest: +SKIP
b'\xebr\x17D*t\xae\xd4\xe3S\xb6\xe2\xebP1\x8b'


.. function:: token_hex([nbytes=None])
.. function:: token_hex(nbytes=None)

Return a random text string, in hexadecimal. The string has *nbytes*
random bytes, each byte converted to two hex digits. If *nbytes* is
``None`` or not supplied, a reasonable default is used.
random bytes, each byte converted to two hex digits.

If *nbytes* is not specified or ``None``, :const:`DEFAULT_ENTROPY`
is used instead.

.. doctest::

>>> token_hex(16) #doctest:+SKIP
>>> token_hex(16) # doctest: +SKIP
'f9bf78b9a18ce6d46a0cd2b0b86df9da'

.. function:: token_urlsafe([nbytes=None])
.. function:: token_urlsafe(nbytes=None)

Return a random URL-safe text string, containing *nbytes* random
bytes. The text is Base64 encoded, so on average each byte results
in approximately 1.3 characters. If *nbytes* is ``None`` or not
supplied, a reasonable default is used.
in approximately 1.3 characters.

If *nbytes* is not specified or ``None``, :const:`DEFAULT_ENTROPY`
is used instead.

.. doctest::

>>> token_urlsafe(16) #doctest:+SKIP
>>> token_urlsafe(16) # doctest: +SKIP
'Drmhze6EPcv0fN_81Bj-nA'


Expand All @@ -115,11 +120,13 @@ argument to the various ``token_*`` functions. That argument is taken
as the number of bytes of randomness to use.

Otherwise, if no argument is provided, or if the argument is ``None``,
the ``token_*`` functions will use a reasonable default instead.
the ``token_*`` functions uses :const:`DEFAULT_ENTROPY` instead.

.. note::
.. data:: DEFAULT_ENTROPY

Default number of bytes of randomness used by the ``token_*`` functions.

That default is subject to change at any time, including during
The exact value is subject to change at any time, including during
maintenance releases.


Expand Down
Loading