Your IP : 18.119.255.183
o
6��f% � @ s� d Z ddlZzddlZW n ey dZdZddlmZ Y n w ej Z e
ej�ZddlZe
dd� ed�D ��Ze
dd� ed�D ��ZdZG dd � d �Zddd�Zd
d� ZdS )zqHMAC (Keyed-Hashing for Message Authentication) module.
Implements the HMAC algorithm as described by RFC 2104.
� N)�_compare_digestc c � � | ]}|d A V qdS )�\ N� ��.0�xr r �+/opt/alt/python310/lib64/python3.10/hmac.py� <genexpr> � � r
� c c r )�6 Nr r r r r r
r c @ sf e Zd ZdZdZdZddd�Zdd � Zd
d� Ze dd
� �Z
dd� Zdd� Zdd� Z
dd� Zdd� ZdS )�HMACz~RFC 2104 HMAC class. Also complies with RFC 4231.
This supports the API for Cryptographic Hash Functions (PEP 247).
�@ )�_hmac�_inner�_outer�
block_size�digest_sizeN� c C s� t |ttf�stdt|�j ��|std��tr<t |ttf�r<z
| � |||� W dS tj
y; | �|||� Y dS w | �|||� dS )a? Create a new HMAC object.
key: bytes or buffer, key for the keyed hash object.
msg: bytes or buffer, Initial input for the hash or None.
digestmod: A hash name suitable for hashlib.new(). *OR*
A hashlib constructor returning a new hash object. *OR*
A module supporting PEP 247.
Required as of 3.8, despite its position after the optional
msg argument. Passing it as a keyword argument is
recommended, though not required for legacy API reasons.
z,key: expected bytes or bytearray, but got %rz'Missing required parameter 'digestmod'.N)�
isinstance�bytes� bytearray� TypeError�type�__name__�_hashopenssl�str� _functype�
_init_hmac�UnsupportedDigestmodError� _init_old��self�key�msg� digestmodr r r �__init__&