python⽂本⽂件加密_【Python】python⽂件或⽂本加密(4种
⽅法)
Date: 2018.6.17 端午
1、参考
2、python下编译py成pyc和pyo (⽂件加密)
将python⽂件.py编译成pyc⼆进制⽂件:
python -m py_file.py
或者通过脚本运⾏:
import py_compile ##单个⽂件编译
import compileall ##多个⽂件编译
py_compilepile('path') ##path是包括.py⽂件名的路径
将python⽂件编译成pyo⼆进制⽂件:
python -O -m py_file.py
什么是pyc⽂件?
pyc是⼀种⼆进制⽂件,是由py⽂件经过编译后,⽣成的⽂件,是⼀种byte code,py⽂件变成pyc⽂件后,加载的速度有所提⾼,⽽且pyc是⼀种跨平台的字节码,是由python的虚拟机来执⾏的,这个是类似于JAVA或者.NET的虚拟机的概念。
注意事项:pyc的内容,是跟python的版本相关的,不同版本编译后的pyc⽂件是不同的,2.5编译的pyc⽂件,2.4版本的 python是⽆法执⾏的。
什么是pyo⽂件?
pyo是优化编译后的程序 python -O 源⽂件即可将源程序编译为pyo⽂件
什么是pyd⽂件?
pyd是python的动态链接库。
python虚拟机3、将Python⽂件转成exe封装(⽂件加密)
4、采⽤hashlib或pycrypto模块进⾏⽂本加密
hashlib模块:
import hashlib
sha1 = hashlib.sha1('⽂本内容') #加密
osv=sha1.hexdigest()
print(osv)
bx=bytes(osv,encoding='utf-8') #转换类型
with open('1.txt','wb') as f: #以⼆进制写类型打开
f.write(bx) #写⼊⽂件
get_sha1('')
pycrypto模块:
from Crypto.Cipher import AES
obj = w('This is a key123', AES.MODE_CBC, 'This is an IV456') message = "The answer is no"
ciphertext = pt(message)
>>> ciphertext
'\xd6\x83\x8dd!VT\x92\xaa`A\x05\xe0\x9b\x8b\xf1'
>>> obj2 = w('This is a key123', AES.MODE_CBC, 'This is an IV456') >>> obj2.decrypt(ciphertext)
'The answer is no'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。