U
    Î‚³d  ã                   @   sT   U d dl mZ d dlmZmZ e ¡ Zee	d< ee
dœdd„Zee
e
dœdd	„Zd
S )é    )Ú
exceptions)ÚffiÚlibÚrandombytes_SEEDBYTES)ÚsizeÚreturnc                 C   s,   t  d| ¡}t || ¡ t  || ¡dd… S )zŒ
    Returns ``size`` number of random bytes from a cryptographically secure
    random source.

    :param size: int
    :rtype: bytes
    úunsigned char[]N)r   Únewr   ÚrandombytesÚbuffer)r   Úbuf© r   úV/var/www/html/myproject/myenv/lib/python3.8/site-packages/nacl/bindings/randombytes.pyr
      s    r
   )r   Úseedr   c                 C   sD   t |ƒtkrt d¡‚t d| ¡}t || |¡ t || ¡dd… S )z¢
    Returns ``size`` number of deterministically generated pseudorandom bytes
    from a seed

    :param size: int
    :param seed: bytes
    :rtype: bytes
    z:Deterministic random bytes must be generated from 32 bytesr   N)	Úlenr   ÚexcÚ	TypeErrorr   r	   r   Úrandombytes_buf_deterministicr   )r   r   r   r   r   r   r   #   s    	ÿr   N)Znaclr   r   Znacl._sodiumr   r   Zrandombytes_seedbytesr   ÚintÚ__annotations__Úbytesr
   r   r   r   r   r   Ú<module>   s
    