⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t_sign.py

📁 It is an experimental testing for python M2Crypto module. M2Crypto is not well document. User may no
💻 PY
字号:
from M2Crypto import RSA, EVP, Randimport time,sysdef test1(keyfn):    key = RSA.load_key(keyfn)        print 'i\tmsg-len\tdig-len\tsig-len'    for i in range(512):        try:            fd=open('testv/msg%03d' % i, 'rb')            msg = fd.read()            fd.close()            #print 'msg:',`msg`            shax = EVP.MessageDigest('sha256')            shax.update(msg)            dig = shax.digest()            #print 'dig:',`dig`            sig = key.sign(dig,algo='sha256')            fo=open('testv/sig%03d' % i, 'wb')            fo.write(sig)            fo.close()            print '%d\t%d\t%d\t%d' % (i, len(msg),len(dig), len(sig))        except:            raisedef test2(keyfn):    key = RSA.load_key(keyfn)    msgs=[]    for i in range(512):        fd = open('testv/msg%03d' % i, 'rb')        msgs.append( fd.read())        fd.close()            t1 = time.time()    print t1    loopx=True    i=0    n=0    while loopx:        shax = EVP.MessageDigest('sha256')        shax.update(msgs[i])        dig = shax.digest()        sig = key.sign(dig,algo='sha256')        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:', n    return t2-t1,ndef loop_test2(keyfn):    N=10    sum=0    for i in range(N):        tx,n=test2(keyfn)        sum+=n    print 'average:', sum/Nif __name__=='__main__':    keyfn = 'keys/svpvk.pem'    #test1(keyfn)    loop_test2(keyfn)

⌨️ 快捷键说明

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