Your IP : 3.142.251.204
�
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<