📄 t_enc.py
字号:
#!/usr/bin/env pythonfrom M2Crypto import RSA, EVP, Randimport time,sysdef encrypt(pub, msg): padding = RSA.pkcs1_oaep_padding ctxt = pub.public_encrypt(msg, padding) return ctxtdef test1(pubfn): pub = RSA.load_pub_key(pubfn) msg='' print 'i plain-len cipher-len' for i in range(512): try: ctxt = encrypt(pub,msg) fd=open('testv/cip%03d' % i,'wb') fd.write(ctxt) fd.close() print `msg` print `ctxt` print '%d: %d\t%d' % (i, len(msg),len(ctxt)) except: pass fd=open('testv/msg%03d' % i,'wb') fd.write(msg) fd.close() msg+=chr(i % 256) def test2(pubfn): pub = RSA.load_pub_key(pubfn) padding = RSA.pkcs1_oaep_padding msgs=[] for i in range(87): f=open('testv/msg%03d' % i,'rb') msgs.append( f.read()) f.close() n=0 loopx=True t1=time.time() print t1 while loopx: for i in range(87): n+=1 ctxt = pub.public_encrypt(msgs[i], padding) t2 = time.time() if t2-t1 >=10: loopx = False break print t2 print 'passed:' ,t2-t1 print 'number of encryption:', n return t2-t1, ndef loop_test2(pubfn): sum=0 N=10 for i in range(N): tx,n = test2(pubfn) sum +=n time.sleep(1) print 'average:', sum/Nif __name__=='__main__': pubfn = 'keys/svpbk.pem' test1(pubfn) # testing for length #test2(pubfn) # testing for time performance #loop_test2(pubfn)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -