o
    Œõ±j·  ã                   @   s^   d dl mZmZ d dlZd dlmZ d dlmZ G dd„ dƒZdde	d	e	d
e
fdd„ZeZdS )é    )ÚABCÚabstractmethodN)Úhashlib)Úloggerc                   @   s\   e Zd Zdd„ Zedd„ ƒZedd„ ƒZedd„ ƒZed	d
„ ƒZedd„ ƒZ	e
dd„ ƒZdS )ÚhmacBASEc                 C   s*   d | _ d | _d | _|| _d | _|  ¡  d S ©N)Údigest_sizeÚ
block_sizeÚnameÚ_keyÚ_hashÚ
setup_hash)ÚselfÚkey© r   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/unicrypto/hmac.pyÚ__init__   s   zhmacBASE.__init__c                 C   ó   t ƒ ‚r   ©ÚNotImplementedError©r   r   r   r   r      s   zhmacBASE.setup_hashc                 C   r   r   r   )r   Údatar   r   r   Úupdate   ó   zhmacBASE.updatec                 C   r   r   r   r   r   r   r   Údigest   r   zhmacBASE.digestc                 C   r   r   r   r   r   r   r   Ú	hexdigest   r   zhmacBASE.hexdigestc                 C   r   r   r   r   r   r   r   Úcopy!   r   zhmacBASE.copyc                 C   r   r   r   )r   ÚaÚbr   r   r   Úcompare_digest%   r   zhmacBASE.compare_digestN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   Ústaticmethodr   r   r   r   r   r      s    




r   Ú r   ÚmsgÚ	digestmodc                 C   s   t  d| ¡ t | ||¡S )Nzhmac using "builtin" for "%s")r   ÚdebugÚ__builtinHMACÚnew)r   r%   r&   r   r   r   Úhmacselector)   s   r*   )Nr$   )Úabcr   r   Úhmacr(   Ú	unicryptor   r   r   ÚbytesÚstrr*   r)   r   r   r   r   Ú<module>   s    "