Python代码部署的三种加密方案

news/2024/11/7 6:45:31/

本文主要介绍了Python代码部署的三种加密方案,主要介绍了代码混淆、代码编译、代码打包这三种,具有一定的参考价值,感兴趣的可以了解一下

前言

最近需要源码部署一个项目,因此探索一下保护源码的方式,由简单到复杂主要总结为以下三大类:

  • 代码混淆:主要是改变一些函数名、变量名
  • 代码打包:思路是把Python代码打包成 .exe 的可执行文件
  • 代码编译:思路是将Python代码编译成C,然后编译成动态链接库文件(linux的.so、windows的.dll)

一、代码混淆

代码混淆主要是改变一些函数名、变量名。可使用 Oxyry 对关键源码进行混淆,效果如下:

 

这种只是降低了代码可读性,严格意义上算不上是加密,不过针对足以应对一大半甲方了(哈哈哈)

二、代码打包

可以用 py2exe 或者 Nuitka 将代码打包成 exe 文件,不过只能从windows系统上运行,也可用 pyinstaller 打包,不过容易被攻破。不太符合我的需求,因此这种方式先立flag,等用到再说。

三、代码编译

这里使用 PyArmor 进行操作。这个工具能加密 Python 脚本,还能有效期限,绑定加密脚本到硬盘、网卡等硬件设备(试用版可以免费用)。
安装:pip install pyarmor
升级:pip install --upgrade pyarmor
查看版本:pyarmor -v
基本语法:pyarmor [command] [options]

3.1 pyarmor快速使用

代码加密:执行 pyarmor obfuscate server.py,就会把 server.py 作为入口函数且将同目录下的 py 文件加密到 ./dist 文件夹中(如果递归加密子目录下py文件可执行 pyarmor obfuscate --recursive server.py )。加密后端的代码长这样:

 

对于不同操作系统,会编译生成不同格式的动态链接库文件:

 

生成的dist目录内容如下:

 

运行脚本:cd到 ./dist 文件夹正常执行 python server.py 即可(运行加密后的脚本用到 pytransform,但不用安装 pyarmor 了)。

3.2 pyarmor进阶使用

设置过期时间:执行代码 pyarmor licenses --expired 2022-01-01 r001,则在dist同级的当前目录生成 licenses 文件夹:

 

此外,如果要绑定mac地址或者硬盘,可以执行 pyarmor hdinfo 查看硬件信息,然后执行pyarmor licenses --bind-disk "xxxxxx" --bind-mac "xx:xx:xx:xx:xx:xx" r002 生成证书。

生成证书后,带上 licenses 执行加密命令:pyarmor obfuscate --with-license licenses/r001/license.lic server.py,生成 dist 后 cd 进去再执行,如果时间过期了(或硬件不对),就会报错(此时即使删掉 licenses 文件夹也没啥用)。

到此这篇关于Python代码部署的三种加密方案的文章就介绍到这了!

点击拿去
50G+学习视频教程
100+Python初阶、中阶、高阶电子书籍


http://www.ppmy.cn/news/242939.html

相关文章

生护眼台灯几瓦最好?分享央视推荐的护眼灯

学生护眼台灯几瓦最好,我在这里教大家如何选择适合学生的护眼台灯,随着学生的近视率在增加,保护视力就成为大多数家长关注的话题,学生使用的瓦数也是有要求的,一般在13瓦到20瓦左右是比较适中的,不会太刺眼…

护眼台灯哪个牌子最好?被央视315表扬的护眼灯

现在市面上做台灯的品牌是越来越多,产品种类可谓是五花八门,消费者们也有了更多的选择。但有得就有失,产品的增多也意味着产品质量的良莠不齐,甚至有的宣扬护眼的台灯,不但达不到护眼灯的效果,而且还会更加…

护眼台灯aa级好还是aaa级好?护眼效果最好的护眼灯推荐

很多人对护眼台灯的aa级和aaa级有一个误解,会认为它们是同一种参数指标,其实并不是,aa级指的是护眼灯照度和均匀度方面的一个等级指标,由国家质量标准文件规定的,分为国a和国aa两种等级,国aa级最好。而aaa级…

台灯的种类有哪些?国内热门护眼灯品牌推荐

台灯是我们日常生活中常见的电器之一,台灯不仅可以为人们照明,还可以用来家居装饰,根据人们不用的需求,台灯的种类也很多,有书房台灯、读写台灯、工艺台灯。 书房台灯:灯光的局部照明效果,以书写…

儿童台灯哪个品牌更护眼推荐?2022年最新护眼台灯十大品牌排行榜

现在的儿童护眼台灯品牌是越来越多了,一束好的光源,能给学生们带来高效率的学习,所以成为了许多家庭中不可缺少的桌面物品,一款具有护眼效果的台灯显得也非常重要的,在2022年儿童护眼台灯排行中,销量以及品…

双十一选哪个牌子全光谱台灯比较好?几款真实有用的护眼台灯推荐

全光谱台灯主要还是以护眼台灯为主,因为不仅色谱丰富,贴近自然色的全光谱色彩,通常显色指数都能达到Ra95以上,显色能力特别强,而且还具有其他防辐射危害、提高光线舒适度的特性,比如侧发光技术、漫反射技术…

哪个牌子的儿童护眼灯好?分享315护眼灯合格名单的护眼台灯

目前市场上有很多儿童可移式灯具产品品牌众多,款式丰富,而现在最受喜欢的还是护眼台灯,但是由于市场入门槛不高,很多台灯质量良萎不齐,部分产品无法满足国家相关强制性标准的基本要求,所以家长在购买护眼台…

面试专题:java虚拟机(3)---JVM 调优

JVM性能调优的原则有哪些? 多数的Java应用不需要在服务器上进行GC优化,虚拟机内部已有很多优化来保证应用的稳定运行,所以不要为了调优而调优,不当的调优可能适得其反 在应用上线之前,先考虑将机器的JVM参数设置到最优…