t_des_enc.py

来自「It is an experimental testing for python」· Python 代码 · 共 79 行

PY
79
字号
from M2Crypto import EVPimport cStringIOimport timedef test1():    key = '\xC8\xF6\xE4\x74\xC1\x55\x6E\x38\xF7\x75\xF6\xA9\x58\x80\x2C\x08'    enc=1    print 'i\tmsg-len\tcipher-len'    for i in range(512):        f=open('testv/msg%03d' % i,'rb')        msg = f.read()        f.close()        cip = EVP.Cipher('des_ede_cbc',key,'\x00\x00\x00\x00\x00\x00\x00\x00',enc)         pbuf = cStringIO.StringIO(msg)        cbuf = cStringIO.StringIO()        while 1:            buf = pbuf.read()            if not buf:                break            cbuf.write(cip.update(buf))        cbuf.write(cip.final())        ctxt = cbuf.getvalue()        pbuf.close()        cbuf.close()        f=open('testv/des%03d' % i,'wb')        f.write(ctxt)        f.close()        print '%d\t%d\t%d' % (i, len(msg), len(ctxt))def test2():    key = '\xC8\xF6\xE4\x74\xC1\x55\x6E\x38\xF7\x75\xF6\xA9\x58\x80\x2C\x08'    enc=1    msgs=[]    for i in range(512):        f=open('testv/msg%03d' % i,'rb')        msgs.append(f.read())        f.close()    n=0    i=0    t1=time.time()    print t1    while 1:        cip = EVP.Cipher('des_ede_cbc',key,'\x00\x00\x00\x00\x00\x00\x00\x00',enc)         pbuf = cStringIO.StringIO(msgs[i])        cbuf = cStringIO.StringIO()        while 1:            buf = pbuf.read()            if not buf:                break            cbuf.write(cip.update(buf))        cbuf.write(cip.final())        ctxt = cbuf.getvalue()        pbuf.close()        cbuf.close()        n+=1        t2=time.time()        if t2-t1 > 10:            break        i+=1        if i > 511:            i=0    print t2    print 'passed:', t2-t1    print n    return t2-t1,ndef loop_test2():    N=10    sum=0    for i in range(N):        tx,n = test2()        sum+=n        time.sleep(10)    print 'average:', sum/Nif __name__=='__main__':    #test1()    loop_test2()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?