File: //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc
U
�e�]( � @ sz d dl mZmZmZ d dlmZ d dlmZmZm Z m
Z
d dlmZ d dl
mZ d dlmZ e�e�G dd� de��Zd S )
� )�absolute_import�division�print_function)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�PBKDF2HMACBackend)�
constant_time)�KeyDerivationFunctionc @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�
PBKDF2HMACc C sh t |t�stdtj��|�|�s4td�|j�tj��d| _ || _
|| _t�
d|� || _|| _|| _d S )Nz4Backend object does not implement PBKDF2HMACBackend.z/{} is not supported for PBKDF2 by this backend.F�salt)�
isinstancer
r r ZBACKEND_MISSING_INTERFACEZpbkdf2_hmac_supported�format�nameZUNSUPPORTED_HASH�_used�
_algorithm�_lengthr �_check_bytes�_salt�_iterations�_backend)�self� algorithmZlengthr Z
iterationsZbackend� r �K/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py�__init__ s&