Your IP : 18.119.158.110
U
&�.e� � @ s� d dl Zd dlmZ zd dlZW n ek
r< dZdZY nX e ej
�Zd dlZd dlZd dl
Z
edd� ed�D ��Zedd� ed�D ��ZdZG dd� d�Zd d
� ZG dd� de
j�Ze�� r�eZddd�Zdd� ZdS )� N)�_compare_digestc c s | ]}|d A V qdS )�\ N� ��.0�xr r �/usr/lib64/python3.8/hmac.py� <genexpr> s r � c c s | ]}|d A V qdS )�6 Nr r r r r r s c @ sN e Zd ZdZddd�Zedd� �Zdd � Zd
d� Zdd
� Z dd� Z
dd� ZdS )�HMAC�@ N� c sV t �� rtd��t|ttf�s0tdt|�j ��� s<td��t � �rL� | _
n,t� t�rhd� fdd� | _
nd� fdd� | _
| �
� | _| �
� | _
| j
j| _t| j
d�r�| j
j}|d k r�t�d
|| jf td� | j}nt�d| j td� | j}|| _t|�|k�r| �
|��� }|�|d
�}| j�|�t�� | j
�|�t�� |d k �rR| �|� d S )Nz9This class is not available in FIPS mode. Use hmac.new().�,key: expected bytes or bytearray, but got %rz'Missing required parameter 'digestmod'.� c s t �� | �S �N��_hashlib�new��d�� digestmodr r �<lambda>? r zHMAC.__init__.<locals>.<lambda>c s
� � | �S r �r r r r r r A r �
block_size� z:block_size of %d seems too small; using our default of %d.� z<No block_size attribute on given digest object; Assuming %d.� )r )r )�_hashlibopenssl�
get_fips_mode�
ValueError�
isinstance�bytes� bytearray� TypeError�type�__name__�callable�digest_cons�str�outer�inner�digest_size�hasattrr � _warnings�warn� blocksize�RuntimeWarning�len�digest�ljust�update� translate�trans_5C�trans_36)�self�key�msgr r1 r r r �__init__# sR
�
� �� �
z
HMAC.__init__c C s d| j j S )Nzhmac-)r, �name)r: r r r r>