o
    »­§is
  ã                   @   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   Z	AVAILABLEr   )r   r	   © r   úK/home/app/Keep/.python/lib/python3.10/site-packages/nacl/pwhash/__init__.pyr   9   s   ÿÿr   N)'Znacl.exceptionsr   Ú r   r   r   r   r   ZPWHASH_SIZEZALG_ARGON2_DEFAULTZALG_ARGON2ID13Z
PASSWD_MINZ
PASSWD_MAXZMEMLIMIT_MAXZMEMLIMIT_MINZOPSLIMIT_MAXZOPSLIMIT_MINZOPSLIMIT_INTERACTIVEZMEMLIMIT_INTERACTIVEZOPSLIMIT_MODERATEZMEMLIMIT_MODERATEZOPSLIMIT_SENSITIVEZMEMLIMIT_SENSITIVEÚstrZALGZ	SALTBYTESZSCRYPT_SALTBYTESZSCRYPT_PWHASH_SIZEZSCRYPT_OPSLIMIT_INTERACTIVEZSCRYPT_MEMLIMIT_INTERACTIVEZSCRYPT_OPSLIMIT_SENSITIVEZSCRYPT_MEMLIMIT_SENSITIVEZkdfZkdf_scryptsalsa208sha256Zscryptsalsa208sha256_strr   Zverify_scryptsalsa208sha256ÚbytesÚboolr   r   r   r   Ú<module>   s:   