Current File : //proc/3/task/3/cwd/opt/alt/python35/lib64/python3.5/__pycache__/hmac.cpython-35.opt-2.pyc
�\��@s�ddlZddlmZddlZedd�ed�D��Z edd�ed�D��Z
dZGdd�d�Zddd d
�Z
dS)�N)�_compare_digestccs|]}|dAVqdS)�\N�)�.0�xrr�)/opt/alt/python35/lib64/python3.5/hmac.py� <genexpr>
sr�ccs|]}|dAVqdS)�6Nr)rrrrrrsc@sveZdZdZdddd�Zedd��Zdd�Zd d
�Zdd�Z d
d�Z
dd�ZdS)�HMAC�@Ncs�t|ttf�s.tdt|�j���dkrVtjdtd�t j
�t��rn�|_nBt�t
�r�d�fdd�|_nd�fdd�|_|j�|_|j�|_|jj|_t|jd�r3|jj}|d krVtjd
||jftd�|j}n#tjd|jtd�|j}||_t|�|kr�|j|�j�}|t|t|��}|jj|jt��|jj|jt��|dk r�|j|�dS)Nz,key: expected bytes or bytearray, but got %rz<HMAC() without an explicit digestmod argument is deprecated.��cstj�|�S)N)�_hashlib�new)�d)� digestmodrr�<lambda>4szHMAC.__init__.<locals>.<lambda>cs
�j|�S)N)r)r)rrrr6s�
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.)�
isinstance�bytes� bytearray� TypeError�type�__name__� _warnings�warn�PendingDeprecationWarningr�md5�callable�digest_cons�str�outer�inner�digest_size�hasattrr� blocksize�RuntimeWarning�len�digest�update� translate�trans_5C�trans_36)�self�key�msgrr'r)rr�__init__sB
z
HMAC.__init__cCsd|jjS)Nzhmac-)r$�name)r/rrrr3Vsz HMAC.namecCs|jj|�dS)N)r$r+)r/r1rrrr+ZszHMAC.updatecCsU|jj|j�}|j|_|j|_|jj�|_|jj�|_|S)N)� __class__�__new__r!r%r$�copyr#)r/�otherrrrr6_sz HMAC.copycCs)|jj�}|j|jj��|S)N)r#r6r+r$r*)r/�hrrr�_currentlsz
HMAC._currentcCs|j�}|j�S)N)r9r*)r/r8rrrr*uszHMAC.digestcCs|j�}|j�S)N)r9� hexdigest)r/r8rrrr:szHMAC.hexdigest)r�
__module__�__qualname__r'r2�propertyr3r+r6r9r*r:rrrrrs<
rcCst|||�S)N)r)r0r1rrrrr�sr)�warningsr� _operatorrZcompare_digest�hashlibrr�ranger-r.r%rrrrrr�<module>sr