Your IP : 3.143.7.112
�
��fX c @ s� d Z d d l Z d d l m Z e d d � e d � D� � Z e d d � e d � D� � Z d Z Gd d � d � Z d d d
d � Z
d S( ux HMAC (Keyed-Hashing for Message Authentication) Python module.
Implements the HMAC algorithm as described by RFC 2104.
i N( u _compare_digestc c s | ] } | d AVq d S( i\ N( ( u .0u x( ( u) /opt/alt/python33/lib64/python3.3/hmac.pyu <genexpr> s u <genexpr>i c c s | ] } | d AVq d S( i6 N( ( u .0u x( ( u) /opt/alt/python33/lib64/python3.3/hmac.pyu <genexpr>
s c B sn | Ee Z d Z d Z d Z d d d d � Z d d � Z d d � Z d d
� Z d d � Z
d
d � Z d S( u HMACu~ RFC 2104 HMAC class. Also complies with RFC 4231.
This supports the API for Cryptographic Hash Functions (PEP 247).
i@ c s� t | t � s+ t d t | � j � � n � d k rO d d l } | j � n t � � rg � | _ n d � f d d � | _ | j � | _
| j � | _ | j j | _ t
| j d � r| j j } | d k r(t j d | | j f t d
� | j } q(n# t j d | j t d
� | j } t | � | k rR| j | � j � } n | t | t | � � } | j
j | j t � � | j j | j t � � | d k r�| j | � n d S( uk Create a new HMAC object.
key: key for the keyed hash object.
msg: Initial input for the hash, if provided.
digestmod: A module supporting PEP 247. *OR*
A hashlib constructor returning a new hash object.
Defaults to hashlib.md5.
Note: key and msg must be bytes objects.
u key: expected bytes, but got %ri Ns c s
� j | � S( N( u new( u d( u digestmod( u) /opt/alt/python33/lib64/python3.3/hmac.pyu <lambda>/ s u HMAC.__init__.<locals>.<lambda>u
block_sizei u: block_size of %d seems too small; using our default of %d.i u<