U §Ãq`  ã@sìddlmZddlmZddlmZmZmZmZej Z ej Z ej ej ksLt ‚ejZejZejZejZejZejZejZejZejZejZejZejZejZejejksªt ‚ejZej ZejZejZ ejZ!ejZ"ej#Z$ejZ%ej&Z'dd„Z&dS)é)Úabsolute_import)ÚCryptPrefixErroré)Ú_argon2Úargon2iÚargon2idÚscryptcCsZ| tj¡rt ||¡S| tj¡r0t ||¡StjrN| tj¡rNt ||¡Stdƒ‚dS)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ÚverifyrrZ AVAILABLEr)Z password_hashÚpassword©r ú;/tmp/pip-target-nv4zd3e_/lib/python/nacl/pwhash/__init__.pyr :s     r N)(Ú __future__rZnacl.exceptionsrÚrrrrr Z PWHASH_SIZEZALG_ARGON2_DEFAULTZALG_ARGON2ID13ÚAssertionErrorZ PASSWD_MINZ PASSWD_MAXZ MEMLIMIT_MAXZ MEMLIMIT_MINZ OPSLIMIT_MAXZ OPSLIMIT_MINZOPSLIMIT_INTERACTIVEZMEMLIMIT_INTERACTIVEZOPSLIMIT_MODERATEZMEMLIMIT_MODERATEZOPSLIMIT_SENSITIVEZMEMLIMIT_SENSITIVEÚstrZALGZ SALTBYTESZSCRYPT_SALTBYTESZSCRYPT_PWHASH_SIZEZSCRYPT_OPSLIMIT_INTERACTIVEZSCRYPT_MEMLIMIT_INTERACTIVEZSCRYPT_OPSLIMIT_SENSITIVEZSCRYPT_MEMLIMIT_SENSITIVEZkdfZkdf_scryptsalsa208sha256Zscryptsalsa208sha256_strr Zverify_scryptsalsa208sha256r r r rÚs: