shell bypass 403
l
��bc @ ss d Z d d l Z e d � e d � D� � Z e d � e d � D� � Z d Z Gd � d � Z 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 Nc c s | ] } | d AVq d S( i\ N( ( u .0u x( ( u+ /usr/local/python-3.2/lib/python3.2/hmac.pyu <genexpr> s i c c s | ] } | d AVq d S( i6 N( ( u .0u x( ( u+ /usr/local/python-3.2/lib/python3.2/hmac.pyu <genexpr> s c B sV | Ee Z d Z d Z d d d � Z d � Z d � Z d � Z d � Z d � Z
d S( u~ 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 � | _ | 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 rO| 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 expected bytes, but got %ri Ns c s
� j | � S( N( u new( u d( u digestmod( u+ /usr/local/python-3.2/lib/python3.2/hmac.pyu <lambda>- s u
block_sizei u: block_size of %d seems too small; using our default of %d.i u<