Your IP : 18.191.37.129


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/hmac.cpython-35.opt-2.pyc



���]��@s�ddlZddlmZddlZedd�ed�D��Z	edd�ed�D��Z
dZGdd�d�Zddd	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_sz	HMAC.copycCs)|jj�}|j|jj��|S)N)r#r6r+r$r*)r/�hrrr�_currentlsz
HMAC._currentcCs|j�}|j�S)N)r9r*)r/r8rrrr*uszHMAC.digestcCs|j�}|j�S)N)r9�	hexdigest)r/r8rrrr:szHMAC.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>sr

?>