a °…bs ã@sêddlmZddlmZmZmZmZejZejZej ej ks@J‚ej Z ej Z ej Z ejZejZejZejZejZejZejZejZejZejZejejksžJ‚ejZejZejZejZejZejZej Z!ejZ"ej#Z$e%e%e&dœdd„Z#dS)é)ÚCryptPrefixErroré)Ú_argon2Úargon2iÚargon2idÚscrypt)Ú password_hashÚpasswordÚreturncCsZ| 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)rr ©rú;/tmp/pip-target-98j97qn4/lib/python/nacl/pwhash/__init__.pyr 9s     ÿÿr N)'Znacl.exceptionsrÚrrrrr Z PWHASH_SIZEZALG_ARGON2_DEFAULTZALG_ARGON2ID13Z 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_scryptsalsa208sha256ÚbytesÚboolrrrrÚs8