des_enc.py
来自「It is an experimental testing for python」· Python 代码 · 共 52 行
PY
52 行
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 + =
减小字号Ctrl + -
显示快捷键?