Current File : //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-312.pyc |
�
�3Tf� � �z � d dl mZ d dlZd dlmZ d dlmZmZmZm Z d dl
mZ d dl
mZmZ d dlmZ G d� d e� Zy)
� )�annotationsN)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�openssl)�
constant_time�hashes)�KeyDerivationFunctionc �: � e Zd Z d dd�Zdd�Zdd�Zy) �
PBKDF2HMACNc �
� ddl m} |j |� s3t dj |j
� t j � �d| _ || _ || _
t j d|� || _
|| _ y )Nr )�backendz/{} is not supported for PBKDF2 by this backend.F�salt)�,cryptography.hazmat.backends.openssl.backendr �pbkdf2_hmac_supportedr �format�namer �UNSUPPORTED_HASH�_used�
_algorithm�_lengthr �_check_bytes�_salt�_iterations)�self� algorithm�lengthr �
iterationsr �ossls �K/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py�__init__zPBKDF2HMAC.__init__ sz � �
� �)�)�)�4�&�A�H�H��N�N�� �)�)� �
� ��
�#������
���6�4�(���
�%��� c �� � | j rt d� �d| _ t j j || j
| j | j | j � S )Nz'PBKDF2 instances can only be used once.T) r r �rust_openssl�kdf�derive_pbkdf2_hmacr r r r )r �key_materials r"