Your IP : 3.138.134.247
U
i�f� � @ s� d dl Zd dlmZ zd dlZW n ek
r< dZdZY nX e ej
�Zd dlZedd� e
d�D ��Zedd� e
d�D ��ZdZG dd� d�Zdd
d�Zdd
� ZdS )� N)�_compare_digestc c s | ]}|d A V qdS )�\ N� ��.0�xr r �)/opt/alt/python38/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 sF t |ttf�s tdt|�j ��� s,td��t� �r<� | _n,t � t�rXd
� fdd� | _nd� fdd� | _| �� | _ | �� | _
| j
j| _t| j
d�r�| j
j
}|dk r�t�d || jf td
� | j}nt�d| j td
� | j}|| _
t|�|k� r�| �|��� }|�|d�}| j �|�t�� | j
�|�t�� |d k �rB| �|� d S )Nz,key: expected bytes or bytearray, but got %rz'Missing required parameter 'digestmod'.� c s t �� | �S �N��_hashlib�new��d�� digestmodr r �<lambda>8 r zHMAC.__init__.<locals>.<lambda>c s
� � | �S r �r r r r r r : 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 )�
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 r- r r r �__init__! sJ
� �� �
z
HMAC.__init__c C s d| j j S )Nzhmac-)r( �name)r6 r r r r: Z s z HMAC.namec C s | j �|� d S r )r( r2 )r6 r8 r r r r2 ^ s zHMAC.updatec C s: | j �| j �}| j|_| j|_| j�� |_| j�� |_|S r )� __class__�__new__r% r) r( �copyr'