U
    7Óds
  ã                   @   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@t‚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sžt‚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&e&e'dœdd„Z$dS )é    )ÚCryptPrefixErroré   )Ú_argon2Úargon2iÚargon2idÚscrypt)Úpassword_hashÚpasswordÚreturnc                 C   sZ   |   tj¡rt | |¡S |   tj¡r0t | |¡S tjrN|   tj¡rNt | |¡S tdƒ‚dS )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 formatN)Ú
startswithr   Ú	STRPREFIXÚverifyr   r   Z	AVAILABLEr   )r   r	   © r   úV/var/www/html/alexa-login-pro/venv/lib/python3.8/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_ARGON2ID13ÚAssertionErrorZ
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>   s8   