o
    U»’hs
  ã                   @   sî   d dl mZ ddlmZmZmZmZ ejZejZej	ej
ks J ‚ejZejZejZejZejZejZejZejZejZejZejZejZejZejejksOJ ‚ejZejZejZejZejZejZej Z!ejZ"ej#Z$de%de%de&fdd„Z#d	S )
é    )ÚCryptPrefixErroré   )Ú_argon2Úargon2iÚargon2idÚscryptÚpassword_hashÚpasswordÚreturnc                 C   sV   |   tj¡rt | |¡S |   tj¡rt | |¡S tjr'|   tj¡r't | |¡S tdƒ‚)zþ
    Takes a modular crypt encoded stored password hash derived using one
    of the algorithms supported by `libsodium` and checks if the user provided
    password will hash to the same string when using the parameters saved
    in the stored hash
    z0given password_hash is not in a supported format)Ú
startswithr   Ú	STRPREFIXÚverifyr   r   Ú	AVAILABLEr   )r   r	   © r   úG/var/www/html/venv/lib/python3.10/site-packages/nacl/pwhash/__init__.pyr   9   s   ÿÿr   N)'Únacl.exceptionsr   Ú r   r   r   r   r   ÚPWHASH_SIZEÚALG_ARGON2_DEFAULTÚALG_ARGON2ID13Ú
PASSWD_MINÚ
PASSWD_MAXÚMEMLIMIT_MAXÚMEMLIMIT_MINÚOPSLIMIT_MAXÚOPSLIMIT_MINÚOPSLIMIT_INTERACTIVEÚMEMLIMIT_INTERACTIVEÚOPSLIMIT_MODERATEÚMEMLIMIT_MODERATEÚOPSLIMIT_SENSITIVEÚMEMLIMIT_SENSITIVEÚstrÚALGÚ	SALTBYTESÚSCRYPT_SALTBYTESÚSCRYPT_PWHASH_SIZEÚSCRYPT_OPSLIMIT_INTERACTIVEÚSCRYPT_MEMLIMIT_INTERACTIVEÚSCRYPT_OPSLIMIT_SENSITIVEÚSCRYPT_MEMLIMIT_SENSITIVEÚkdfÚkdf_scryptsalsa208sha256Úscryptsalsa208sha256_strr   Úverify_scryptsalsa208sha256ÚbytesÚboolr   r   r   r   Ú<module>   s:   