File: //lib64/python2.7/hmac.pyc
�
zfc           @   s�   d  Z  d d l Z d d l m Z d j g  e d � D] Z e	 e d A� ^ q5 � Z
 d j g  e d � D] Z e	 e d A� ^ qg � Z d Z
 g  Z d d d	 �  �  YZ d d d
 � Z d S(   sx   HMAC (Keyed-Hashing for Message Authentication) Python module.
Implements the HMAC algorithm as described by RFC 2104.
i����N(   t   _compare_digestt    i   i\   i6   t   HMACc           B   sP   e  Z d  Z d Z d d d � Z d �  Z d �  Z d �  Z d �  Z	 d �  Z
 RS(	   s~   RFC 2104 HMAC class.  Also complies with RFC 4231.
    This supports the API for Cryptographic Hash Functions (PEP 247).
    i@   c            s�  | t  k r d S�  d k r4 d d l } | j �  n  t �  d � rO �  |  _ n d �  f 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 r7|  j | � j �  } n  | t d � | t | � } |  j j | j t � � |  j j | j t � � | d k	 r�|  j | � n  d S(   s9  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.
        Ni����t   __call__R   c            s
   �  j  |  � S(   N(   t   new(   t   d(   t	   digestmod(    s   /usr/lib64/python2.7/hmac.pyt   <lambda>2   R   t
   block_sizei   s:   block_size of %d seems too small; using our default of %d.i   s<