관리-도구
편집 파일: hmac.cpython-39.opt-1.pyc
a �a� � @ sB d dl Z d dlmZ d dlmZ d dlmZ G dd� dej�ZdS )� N)�utils)�AlreadyFinalized)�hashesc @ st e Zd Zdeejejd�dd�Ze ejd�dd��Z edd�d d �Zd d�dd�Zed�d d�Z edd�dd�ZdS )�HMACN)�key� algorithm�backendc C sP t |tj�std��|| _|| _|d u rFddlm} |�|| j �| _ n|| _ d S )Nz*Expected instance of hashes.HashAlgorithm.r )r )� isinstancer � HashAlgorithm� TypeError� _algorithm�_keyZ,cryptography.hazmat.backends.openssl.backendr Zcreate_hmac_ctxr �_ctx)�selfr r r �ctxZossl� r �I/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/hmac.py�__init__ s z HMAC.__init__)�returnc C s | j S )N)r �r r r r r % s zHMAC.algorithm)�datar c C s. | j d u rtd��t�d|� | j �|� d S )N�Context was already finalized.r )r r r Z_check_byteslike�update)r r r r r r ) s zHMAC.updatec C s* | j d u rtd��t| j| j| j �� d�S )Nr )r )r r r r r �copyr r r r r / s �z HMAC.copyc C s&