3
�L�j� � @ s� d dl Zd dlmZ d dlZd dlZd dlZe dd� e
d�D ��Ze dd� e
d�D ��ZdZ
G dd� d�Zd d
� ZG dd� dej�Zej� r�eZdd
d�ZdS )� N)�_compare_digestc c s | ]}|d A V qdS )�\ N� )�.0�xr r �/usr/lib64/python3.6/hmac.py� s r � c c s | ]}|d A V qdS )�6 Nr )r r r r r r
s c @ sN e Zd ZdZddd�Zedd� �Zdd� Zd d
� Zdd� Z d
d� Z
dd� ZdS )�HMAC�@ Nc sf t j� rtd��t|ttf�s0tdt|�j ��� d krLt j
dtd� tj
� t� �r\� | _n,t� t�rxd� fdd� | _nd� fd d� | _| j� | _| j� | _| jj| _t| jd
�r�| jj}|dk r�t j
d|| jf td� | j}nt j
d
| j td� | j}|| _t|�|k�r| j|�j� }|j|d�}| jj|jt�� | jj|jt�� |d k �rb| j|� d S )Nz*This class is not available in FIPS mode. zUse hmac.new().z,key: expected bytes or bytearray, but got %rz