t_ver.py

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

PY
65
字号
from M2Crypto import RSA, EVP, Randimport time,sysdef test1(keyfn):    key = RSA.load_pub_key(keyfn)    for i in range(512):        f=open('testv/sig%03d' % i, 'rb')        sig = f.read()        f.close()        f=open('testv/msg%03d' % i, 'rb')        msg = f.read()        f.close()        shax = EVP.MessageDigest('sha256')        shax.update(msg)        dig = shax.digest()        res = key.verify(dig,sig,algo='sha256')        print '%d res:%d' % (i, res)def test2(keyfn):    key = RSA.load_pub_key(keyfn)    sigs=[]    msgs=[]    for i in range(512):        f=open('testv/sig%03d' % i, 'rb')        sigs.append(f.read())        f.close()        f=open('testv/msg%03d' % i, 'rb')        msgs.append(f.read())        f.close()            t1 = time.time()    print t1    n=0    i=0    while 1:        shax = EVP.MessageDigest('sha256')        shax.update(msgs[i])        dig = shax.digest()        res = key.verify(dig,sigs[i],algo='sha256')        t2 = time.time()        if t2-t1 > 10:            break        n+=1        i+=1        if i > 511:            i=0    print t2    print 'passed:', t2-t1    print n    return t2-t1,ndef loop_test2(keyfn):    N=10    sum=0    for i in range(N):        tx,n = test2(keyfn)        sum+=n        time.sleep(1)    print 'average:', sum /Nif __name__=='__main__':    keyfn ='keys/svpbk.pem'    #test1(keyfn)    loop_test2(keyfn)

⌨️ 快捷键说明

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