U vù¾fs ã@sêddlmZddlmZmZmZmZejZejZej ej ks@t ‚ej Z ej Z ejZejZejZejZejZejZejZejZejZejZejZejejksžt ‚ejZejZejZejZejZejZ ej!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úG/opt/alt/python38/lib64/python3.8/site-packages/nacl/pwhash/__init__.pyr 9s     ÿÿr N)(Znacl.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_scryptsalsa208sha256ÚbytesÚboolrrrrÚs8