ó
Bd\Rc           @   s   d  Z  d Z d d d g Z d d l Td d l m Z d d l j j Z e Z	 d e f d	     YZ
 d d
  Z e
 j Z e
 j Z d S(   sĽ  MD4 cryptographic hash algorithm.

MD4 is specified in RFC1320_ and produces the 128 bit digest of a message.

    >>> from Crypto.Hash import MD4
    >>>
    >>> h = MD4.new()
    >>> h.update(b'Hello')
    >>> print h.hexdigest()

MD4 stand for Message Digest version 4, and it was invented by Rivest in 1990.

This algorithm is insecure. Do not use it for new designs.

.. _RFC1320: http://tools.ietf.org/html/rfc1320
s   $Id$t   newt   digest_sizet   MD4Hashi˙˙˙˙(   t   *(   t   HashAlgoNc           B   s>   e  Z d  Z e d  Z d Z d Z d d  Z d d  Z	 RS(   sI   Class that implements an MD4 hash
    
    :undocumented: block_size
    s
   *H÷i   i@   c         C   s   t  j |  t |  d  S(   N(   R   t   __init__t   hashFactory(   t   selft   data(    (    s.   lib/python2.7/site-packages/Crypto/Hash/MD4.pyR   C   s    c         C   s
   t  |  S(   N(   R   (   R   R   (    (    s.   lib/python2.7/site-packages/Crypto/Hash/MD4.pyR    F   s    N(
   t   __name__t
   __module__t   __doc__t   bt   oidR   t
   block_sizet   NoneR   R    (    (    (    s.   lib/python2.7/site-packages/Crypto/Hash/MD4.pyR   0   s   
c         C   s   t    j |   S(   s  Return a fresh instance of the hash object.

    :Parameters:
       data : byte string
        The very first chunk of the message to hash.
        It is equivalent to an early call to `MD4Hash.update()`.
        Optional.

    :Return: A `MD4Hash` object
    (   R   R    (   R   (    (    s.   lib/python2.7/site-packages/Crypto/Hash/MD4.pyR    I   s    (   R   t   _revision__t   __all__t   Crypto.Util.py3compatt   Crypto.Hash.hashalgoR   t   Crypto.Hash._MD4t   Hasht   _MD4R   R   R   R    R   R   (    (    (    s.   lib/python2.7/site-packages/Crypto/Hash/MD4.pyt   <module>$   s   
	