File manager - Edit - /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-310.pyc
Back
o �)%au � @ sF d dl mZ d dlmZmZmZ d dlmZmZ G dd� dej �Z dS )� )�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)� constant_time�hashesc @ sj e Zd Z ddedejfdd�Ze�d�Z ddd �Z d eddfdd�Zdefd d�Zdeddfdd�Z dS )�_HMACContextN�key� algorithmc C s� || _ || _|d u r\| jj�� }| j�|| jjjk� | jj�|| jjj�}| j� |�}|| jjjkr=t d�|j�t j��| jj�|�}| jj�||t|�|| jjj�}| j�|dk� || _|| _d S )Nz*{} is not a supported hash on this backendr )� _algorithm�_backend�_lib�HMAC_CTX_new�openssl_assert�_ffi�NULL�gc� HMAC_CTX_free�_evp_md_from_algorithmr �format�namer �UNSUPPORTED_HASH�from_buffer�HMAC_Init_ex�len�_ctx�_key)�self�backendr r �ctx�evp_md�key_ptr�res� r# �K/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/hmac.py�__init__ s* ��� z_HMACContext.__init__r �returnc C sp | j j�� }| j �|| j jjk� | j j�|| j jj�}| j j�|| j �}| j �|dk� t | j | j| j|d�S )Nr )r ) r r r r r r r r � HMAC_CTX_copyr r r r )r � copied_ctxr"