ó V Qc@s—ddlZddlZddlmZd„ZddlmZd„Zd„Zd„Zd„Z ddlZd „Z d „Z d „Z e ƒdS( iÿÿÿÿN(targvcCsSd}xB|D]:}t|ƒ}|tj|d?d@tj|d@}q W|GdS(Ntii(tordtstringt hexdigits(tstrtoutstrtito((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytMDPrints   ,(ttimecCs8d}x+t||dƒD]}|t|ƒ}qW|S(NRi(trangetchr(tstarttendtresultR((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytmakestrsc Csád}d}||}d }td|dƒ}|||}|||| }~~dG|GdGHtƒ}tjƒ}x!t|ƒD]}|j|ƒq„W|jƒ} tƒ} t| ƒdGHd G| |GHd G|| |GHdS( Nièi'iiisMD5 time trial. Processings characters...sis digest of test input.sSeconds to process test input:s Characters processed per second:i(RR tmd5tnewR tupdatetdigestR ( tTEST_BLOCK_SIZEt TEST_BLOCKSt TEST_BYTEStfilsiztfillertdatatt1t mdContextRRtt2((s./usr/lib64/python2.7/Demo/md5test/md5driver.pyt MDTimeTrials&        cCs*ttj|ƒjƒƒd|dGHdS(Nt"(R RRR(R((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytMDString;scCs`t|dƒ}tjƒ}x)|jdƒ}|s7Pn|j|ƒqt|jƒƒ|GHdS(Ntrbi(topenRRtreadRR R(tfilenametfRR((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytMDFile@s cCsPtjƒ}x,tjjdƒ}|s+Pn|j|ƒqt|jƒƒHdS(Ni(RRtsyststdinR#RR R(RR((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytMDFilterPs cCsÒdGHtdƒtdƒtdƒtdƒtttdƒtdƒƒƒtttdƒtdƒƒttdƒtdƒƒttd ƒtd ƒƒƒtttd ƒtd ƒƒd d ƒtd ƒdS(NsMD5 test suite results:Rtatabcsmessage digesttztAtZt0t9t1itfoo(R RRR&(((s./usr/lib64/python2.7/Demo/md5test/md5driver.pyt MDTestSuite]s    N'cCsŒttƒdkrtƒnxitdD]]}|d dkrNt|dƒq'|dkrdtƒq'|dkrztƒq't|ƒq'WdS(Niis-ss-ts-x(tlenRR)R RR3R&(targ((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytmainns     ( RRR'RR R RRR R&R)R3R6(((s./usr/lib64/python2.7/Demo/md5test/md5driver.pyts     "