File: //lib64/python3.9/__pycache__/secrets.cpython-39.pyc
a
    �DOg�  �                   @   st   d Z g d�ZddlZddlZddlmZ ddlmZ e� Zej	Z
ejZdd� ZdZ
dd	d
�Zddd�Zdd
d�ZdS )z�Generate cryptographically strong pseudo-random numbers suitable for
managing secrets such as account authentication, tokens, and similar.
See PEP 506 for more information.
https://www.python.org/dev/peps/pep-0506/
)�choice�	randbelow�randbits�SystemRandom�token_bytes�	token_hex�
token_urlsafe�compare_digest�    N)r   )r   c                 C   s   | dkrt d��t�| �S )z(Return a random int in the range [0, n).r	   zUpper bound must be positive.)�
ValueError�_sysrand�
_randbelow)Zexclusive_upper_bound� r
   �/usr/lib64/python3.9/secrets.pyr      s    r   �    c                 C   s   | du rt } t�| �S )z�Return a random byte string containing *nbytes* bytes.
    If *nbytes* is ``None`` or not supplied, a reasonable
    default is used.
    >>> token_bytes(16)  #doctest:+SKIP
    b'\xebr\x17D*t\xae\xd4\xe3S\xb6\xe2\xebP1\x8b'
    N)�DEFAULT_ENTROPYr   �	randbytes��nbytesr
   r
   r   r   "