Edit file File name : hmac.pyc Content :� �bc @ 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/lib/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<