관리-도구
편집 파일: hmac.cpython-310.opt-1.pyc
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__&