ó õùPc@sÅdZdZddgZddlZejddkrWejddkrWdd lTndd lTdd lmZdd l m Z e j d ks–t ‚d e fd„ƒYZej Z dd„ZdS(sQSHA_d-256 hash function implementation. This module should comply with PEP 247. s$Id$tnewt digest_sizeiÿÿÿÿNiii(t*(tb2a_hex(tSHA256i t_SHAd256cBsMeZdZejZeƒZd„Zd„Zd„Z d„Z d„Z RS(s;SHA-256, doubled. Returns SHA-256(SHA-256(data)). cCs2||jk r%tdtfƒ‚n||_dS(Ns5Do not instantiate this class directly. Use %s.new()(t _internaltAssertionErrort__name__t_h(tselftinternal_api_checktsha256_hash_obj((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyt__init__7scCsttj|jjƒƒS(s$Return a copy of this hashing object(RtSHAd256RR tcopy(R ((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyR=scCs:tj|jjƒƒjƒ}t|ƒdks6t‚|S(s7Return the hash value of this object as a binary stringi (RRR tdigesttlenR(R tretval((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyRBscCsOt|jƒƒ}t|ƒdks*t‚tjddkrA|S|jƒSdS(sHReturn the hash value of this object as a (lowercase) hexadecimal stringi@iiN(RRRRtsyst version_infotdecode(R R((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyt hexdigestIs cCs|jj|ƒdS(N(R tupdate(R tdata((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyRSs( Rt __module__t__doc__RRtobjectRR RRRR(((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyR-s      cCsD|stdƒ}nttjtj|ƒƒ}tƒd|_|S(s#Return a new SHAd256 hashing objecttR(tbRRRRtglobals(Rtsha((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyRZs (Rt __revision__t__all__RRtCrypto.Util.py21compattCrypto.Util.py3compattbinasciiRt Crypto.HashRRRRRtNoneR(((s8..\python\site-packages\Crypto\Random\Fortuna\SHAd256.pyts  &  *