t_dec.py

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

PY
68
字号
#!/usr/bin/env pythonfrom M2Crypto import RSA, EVP, Randimport time,sysdef decrypt(key, msg, padding):    ptxt = key.private_decrypt(msg,padding)    return ptxtdef test1(keyfn):    key = RSA.load_key(keyfn)    padding =RSA.pkcs1_oaep_padding    for i in range(87):        f=open('testv/cip%03d' % i,'rb')        ctxt = f.read()        f.close()        fm=open('testv/msg%03d' % i, 'rb')        msg = fm.read()        fm.close()        ptxt = decrypt(key,ctxt,padding)        if msg != ptxt:            print '%i %s ~ %s' % (i,msg,ptxt)        else:            print '%i ok' % idef test2(keyfn):    key = RSA.load_key(keyfn)    padding =RSA.pkcs1_oaep_padding    n=0    loopx = True    ctxts=[]    for i in range(87):        f=open('testv/cip%03d' % i,'rb')        ctxts.append(f.read())        f.close()    t1 = time.time()    print t1    i=0    while loopx:        n+=1        ptxt = key.private_decrypt(ctxts[i],padding)        t2 = time.time()        if t2-t1 >=10:            loopx=False            break        i+=1        if i> 86:            i=0    print t2    print 'passed', t2-t1    print 'number of decryption:', n    return t2-t1, ndef loop_test2(keyfn):    sum=0    N=10    for i in range(N):        tx,n = test2(keyfn)        sum +=n        time.sleep(1)    print 'average:', sum/Nif __name__=='__main__':    keyfn = 'keys/svpvk.pem'    #test1(keyfn)  # verify decrypt    #test2(keyfn)  # check performance    loop_test2(keyfn)

⌨️ 快捷键说明

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