B Bd\Rœ ã@sfdZdZdddgZddlTddlmZddlmmZeZ Gd d„deƒZ d d d„Z e j Z e j Z dS) a¥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 z$Id$ÚnewÚ digest_sizeÚMD4Hashé)Ú*)ÚHashAlgoNc@s4eZdZdZedƒZdZdZd dd„Zd dd „Z dS) rzIClass that implements an MD4 hash :undocumented: block_size u *†H†÷ éé@NcCst |t|¡dS)N)rÚ__init__Ú hashFactory)ÚselfÚdata©r úB/opt/alt/python37/lib64/python3.7/site-packages/Crypto/Hash/MD4.pyr CszMD4Hash.__init__cCst|ƒS)N)r)r r r r rrFsz MD4Hash.new)N)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚbZoidrÚ block_sizer rr r r rr0s   cCs tƒ |¡S)aReturn 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 )rr)r r r rrIs )N)rZ _revision__Ú__all__ZCrypto.Util.py3compatZCrypto.Hash.hashalgorZCrypto.Hash._MD4ZHashZ_MD4r rrrrr r r rÚ$s