![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/ |
o �)%a � @ sZ d dl mZ d dlmZmZmZ d dlmZ d dlm Z d dl mZ G dd� dej�Z dS ) � )�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasons)�_get_backend)�HMACBackend)�hashesc @ sl e Zd Z ddedejfdd�Ze�d�Z deddfd d �Z ddd�Zdefd d�Zdeddfdd�Z dS )�HMACN�key� algorithmc C sl t |�}t|t�stdtj��t|tj�std��|| _ || _ || _|d u r1| j �|| j �| _d S || _d S )Nz.Backend object does not implement HMACBackend.z*Expected instance of hashes.HashAlgorithm.)r � isinstancer r r �BACKEND_MISSING_INTERFACEr � HashAlgorithm� TypeError� _algorithm�_backend�_key�create_hmac_ctxr �_ctx)�selfr r �backend�ctx� r �E/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py�__init__ s � z HMAC.__init__r �data�returnc C s. | j d u r td��t�d|� | j �|� d S )N�Context was already finalized.r )r r r �_check_byteslike�update)r r r r r r - s zHMAC.updatec C s. | j d u r td��t| j| j| j| j �� d�S )Nr )r r )r r r r r r �copy)r r r r r 3 s �z HMAC.copyc C s&