˺hddlmZddlZddlmZddlmZmZmZm Z ddl m Z ddl mZmZddlmZGdd eZdS) ) annotationsN)utils)AlreadyFinalized InvalidKeyUnsupportedAlgorithm_Reasons)openssl) constant_timehashes)KeyDerivationFunctionc*eZdZ ddd ZddZddZdS) PBKDF2HMACN algorithmhashes.HashAlgorithmlengthintsaltbytes iterationsbackend typing.Anycddlm}||s"t|jdt jd|_||_||_ tj d|||_ ||_ dS)Nr)rz is not supported for PBKDF2.Fr),cryptography.hazmat.backends.openssl.backendrpbkdf2_hmac_supportedrnamerUNSUPPORTED_HASH_used _algorithm_lengthr _check_bytes_salt _iterations)selfrrrrrossls /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py__init__zPBKDF2HMAC.__init__s      )))44 &>@@@)  #  64((( % key_materialreturnc|jrtdd|_tj||j|j|j|jS)Nz'PBKDF2 instances can only be used once.T) rr rust_opensslkdfderive_pbkdf2_hmacrr!r"r)r#r(s r%derivezPBKDF2HMAC.derive.sV : N"#LMM M 22  O J   L    r' expected_keyNonecx||}tj||stddS)NzKeys do not match.)r.r bytes_eqr)r#r(r/ derived_keys r%verifyzPBKDF2HMAC.verify;sAkk,// %k<@@ 3122 2 3 3r')N) rrrrrrrrrr)r(rr)r)r(rr/rr)r0)__name__ __module__ __qualname__r&r.r4r'r%rrsZ# &&&&&0     333333r'r) __future__rtyping cryptographyrcryptography.exceptionsrrrr"cryptography.hazmat.bindings._rustr r+cryptography.hazmat.primitivesr r "cryptography.hazmat.primitives.kdfr rr8r'r%r@s #"""""  GFFFFF@@@@@@@@DDDDDD)3)3)3)3)3&)3)3)3)3)3r'