V Qc@sddlZddlZddlmZdZddlmZdZdZdZdZ ddlZd Z d Z d Z e dS( iN(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||dD]}|t|}qW|S(NRi(trangetchr(tstarttendtresultR((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytmakestrsc Csd}d}||}d }td|d}|||}|||| }~~dG|GdGHt}tj}x!t|D]}|j|qW|j} t} t| dGHd G| |GHd G|| |GHdS( Nii'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|jd|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|jHdS(Ni(RRtsyststdinR#RR R(RR((s./usr/lib64/python2.7/Demo/md5test/md5driver.pytMDFilterPs cCsdGHtdtdtdtdtttdtdtttdtdttdtdttd 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'cCsttdkrtnxitdD]]}|d dkrNt|dq'|dkrdtq'|dkrztq'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     "