✏️ 正在编辑: pbkdf2.cpython-312.pyc
路径:
/var/opt/nydus/ops/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-312.pyc
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
� ��'j� � �b � d dl Z d dlmZ d dlmZmZmZmZ d dlm Z m Z d dlmZ G d� de� Z y)� N)�utils)�AlreadyFinalized� InvalidKey�UnsupportedAlgorithm�_Reasons)� constant_time�hashes)�KeyDerivationFunctionc �x � e Zd Z d dej dedededej f d�Z ded efd �Z deded dfd�Zy)� PBKDF2HMACN� algorithm�length�salt� iterations�backendc � � ddl m} |j |� s3t dj |j � t j � �d| _ || _ || _ t j d|� || _ || _ y )Nr �r z/{} is not supported for PBKDF2 by this backend.Fr )�,cryptography.hazmat.backends.openssl.backendr �pbkdf2_hmac_supportedr �format�namer �UNSUPPORTED_HASH�_used� _algorithm�_lengthr �_check_bytes�_salt�_iterations)�selfr r r r r �ossls �Z/opt/nydus/tmp/pip-target-k0fmikie/lib/python/cryptography/hazmat/primitives/kdf/pbkdf2.py�__init__zPBKDF2HMAC.__init__ sz � � � �)�)�)�4�&�A�H�H��N�N�� �)�)� � � �� �#������ ���6�4�(��� �%��� �key_material�returnc �� � | j rt d� �d| _ t j d|� ddlm} |j | j | j | j | j |� S )Nz'PBKDF2 instances can only be used once.Tr$ r r )r r r �_check_bytesliker r �derive_pbkdf2_hmacr r r r )r r$ r s r! �derivezPBKDF2HMAC.derive. sc � ��:�:�"�#L�M�M��� � ���~�|�<�H��)�)��O�O��L�L��J�J����� � r# �expected_keyc �h � | j |� }t j ||� st d� �y )NzKeys do not match.)r) r �bytes_eqr )r r$ r* �derived_keys r! �verifyzPBKDF2HMAC.verify>