📄 t_sign.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 + -