📄 des_enc.py
字号:
from M2Crypto import EVPimport cStringIOdef cipher_filter(cipher,inf,outf): while 1: buf = inf.read() if not buf: break outf.write(cipher.update(buf)) outf.write(cipher.final()) return outf.getvalue()def encript(keyfn,ptxtfn,outfn): fk = open(keyfn, 'rb') key = fk.read() fk.close() enc=1 dec =0 fc = open(ptxtfn, 'rb') ptxt = fc.read() fc.close() print 'ptxt:', `ptxt` j = EVP.Cipher('des_ede_cbc',key,'\x00\x00\x00\x00\x00\x00\x00\x00',enc) #,1,'sha1','saltsalt',5) pbuf =cStringIO.StringIO(ptxt) cbuf =cStringIO.StringIO() print pbuf print cbuf ctxt = cipher_filter(j, pbuf, cbuf) pbuf.close() cbuf.close() print `ctxt` fo = open(outfn,'wb') fo.write(ctxt) fo.close()if __name__=='__main__': from optparse import OptionParser parser = OptionParser(usage='enc [-k] [-o] msg', version='enc 1.0') parser.add_option('-k','--key',dest='keyfile', help='key file',default='des_data/EFsk.4.bin') parser.add_option('-o','--out',dest='output',help='output file',default='des_ctxt.dat') (options,args) = parser.parse_args() keyfn = options.keyfile outfn = options.output msgfn = args[0] encript(keyfn,msgfn,outfn)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -