Pyarmor加密项目(exe可执行文件),外部密钥版_pyarmor gen
由于最近做项目需要使用pyinstaller发布exe可执行文件,为给自己写的代码加密,研究了下pyarmor的使用方法。
1.安装pyarmor
这个没什么说的,直接pip install pyarmor
2.生成加密的exe
最新版本的pyarmor可以直接使用命令进行生成,首先准备项目,项目结构如下
然后cd至这个\\***\\netpins文件路径下,使用命令,生成dist下的exe,这个就是已经加密的可执行文件。
pyarmor gen --outer --pack net_pins.spec -r net_pins.py netpin2excel/
上面命令行的具体含义为:
pyarmor gen --outer --pack net_pins.spec -r net_pins.py netpin2excel/## --outer 代表使用外部密钥模式## --pack 为pyaromr一键pyinstaller模式,后面可以接受三种类型的值:## 1.onefile 打包成为单个可执行文件## 2.onedir 打包到一个目录## 3.specfile 以 .spec 为后缀的文件名称## -r 自动搜索文件里面所有py文件## net_pins.py netpin2excel/ 这些就是把所有的py和包都罗列进去
有疑问可以查看官方文档:
https://pyarmor.readthedocs.io/zh/stable/topic/repack.html#id4
以上我用了--outer,官方文档在这里
https://pyarmor.readthedocs.io/zh/stable/how-to/packing.html
3.生成外部密钥
在2中虽然生成了exe,但是双击运行不能用,会报错,因为没有外部密钥,这个类似于halcon的license。
所以现在生成外部密钥:
使用下面的命令:
pyarmor gen key -O keylist -e 30##keylist为生成的保存路径##-e 30 为有效期30天
然后将生成的密钥放在exe同级目录下,或者使用环境变量进行设置,名字也可以修改
具体教程
https://pyarmor.readthedocs.io/zh/stable/reference/concepts.html#term-21
接下来就可以把这个exe和外部密钥发给另一台电脑使用了!!!