文章目录

  • 0、快速了解
  • 1、[使用PyArmor](https://pyarmor.readthedocs.io/zh/latest/usage.html)
  • 2、示例
  • 3、生成新的许可文件

0、快速了解

保护 Python 脚本的工具,能够加密 Python 脚本,保护运行时刻的 Python 代码不被泄露,设置加密脚本的有效期限,绑定加密脚本到硬盘、网卡等硬件设备。
PyArmor 使用动态代码生成和交叉保护机制来保证加密脚本的安全性。

1、使用PyArmor

最简单的安装方式:pip install pyarmor
查看版本号:pyarmor --version,成功在终端看到版本号即安装成功。
命令 obfuscate 用来加密脚本。最常用的一种情况是切换到脚本app.py所在的路径,然后执行。
加密:pyarmor obfuscate app.py,PyArmor 会加密 app.py 和相同目录下面的所有 *.py 文件到dist文件夹中。
运行加密代码:cd dist之后,python app.py即可。

2、示例

5行code写Flask web demo

app.py

from flask import Flaskapp = Flask(__name__)@app.route("/")
def index():return 'hello world!'if __name__ == '__main__':app.run()

执行:python app.py,其用web,Running on http://127.0.0.1:5000/

现在开始加密:在app.py目录下执行:pyarmor obfuscate app.py 会在相同目录下生成dist目录,
运行加密代码:cd dist之后,python app.py即可(发布加密脚本给客户只需要把输出路径 dist 的所有文件拷贝过去即可)。

默认情况下,只有和主脚本相同目录的其他 *.py 会被同时加密。如果想递归加密 子目录下的所有 *.py 文件,使用下面的命令: pyarmor obfuscate --recursive app.py

注解:运行加密脚本不需要安装 PyArmor,没有必要在运行环境里面安装 PyArmor

3、生成新的许可文件

运行加密脚本必须有一个认证文件 license.lic 。一般在加密脚本的同时,会自动生成一个缺省的认证文件。但是这个缺省的认证文件允许加密脚本运行在任何机器并且永不过期。
如果需要设置加密脚本的使用期限或者限制脚本在特定的机器使用,需要生成新的许可文件, 并使用新的许可文件加密脚本。

3.1、执行pyarmor licenses --expired 2022-04-28 r001这条命令 PyArmor 会生成一个带有效期的认证文件:
3.2、然后,使用新生成的许可文件加密脚本:pyarmor obfuscate --with-license licenses/r001/license.lic app.py
这样,使用下面的命令运行脚本在2019年1月1日之后就会报错:cd dist/ python app.py

3.3、如果想绑定加密脚本到固定机器上,首先在该机器上面运行下面的命令获取硬件信息:pyarmor hdinfo

3.4、然后在生成绑定到固定机器的许可文件: 硬盘信息(如果一台机器上有多个硬盘,那么 pyarmor 只检查默认的硬盘,也就是命令 hdinfo 打印出来的默认硬盘)pyarmor licenses --bind-disk "100304PBN2081SF3NJ5T" --bind-mac "20:c1:d2:2f:a0:96" r002
同样,使用这个许可文件加密脚本,加密脚本就只能在指定机器上运行:pyarmor obfuscate --with-license licenses/code-002/license.lic app.py

Python代码加密-PyArmor相关推荐

  1. 如何防止你的代码被窃取?Python代码加密方案汇总(带实例验证)

    Python代码加密方案汇总 文章目录 Python代码加密方案汇总 需求描述 基础:Python文件格式 `.py` python源代码 `.pyc` 编译得到的字节码文件 `.pyo` 编译优化后 ...

  2. Python代码加密方案

    Python代码加密方案 方案1:使用Pyarmor工具进行加密 PyArmor 是一个用于加密和保护 Python 脚本的工具.它能够在运行时刻保护 Python脚本的二进制代码不被泄露,设置加密后 ...

  3. Python代码加密混淆

    python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...

  4. 【python】python代码加密与License控制

    背景 在一些使用python的商业项目上,开发人员不想被用户看到源代码时,就需要对python代码进行加密:进一步地,如果想限制用户只能在获得授权的机器上运行你写的代码时(利益相关),就需要使用Lic ...

  5. Python代码加密:py文件转pyd文件

    目前使用python语言比较多,尤其是深度学习项目,但是使用python加密比较麻烦,前期接触过几种加密的方案,但是效果都不理想,现在有一种思路比较靠谱:python原文件转pyd,然后用加密狗加密p ...

  6. python代码加密--pyinstaller

    python代码加密需要安装pyinstaller 包 不同系统安装方法 一.windows环境下: 1.安装pyinstaller pip install pyinstaller==3.6.0 2. ...

  7. python 代码加密

    Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...

  8. Python代码加密,将python文件编译成so文件

    Python程序(.py文件)是公开的,容易被别人拿去使用,为了更好保护知识产权,可以对python文件加密为.so文件. 首先,我们需要在Ubuntu系统中安装一些准备工具,包括python3-de ...

  9. python代码加密cython_利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

  10. python代码加密解密_在python中加密 – 在Javascript中解密

    您的Python代码和CryptoJS代码存在许多问题: >您使用随机IV加密Python中的一些明文.如果要检索该明文,则需要在解密期间使用相同的IV.没有IV,明文就无法恢复.通常,IV只是 ...

最新文章

  1. 冷热分离和直接使用大数据库_中台有“数”:大数据技术为苏宁818保驾护航
  2. 搭载鸿蒙os的电脑,全新华为 MatePad Pro 发布在即:搭载鸿蒙系统
  3. 收集19个前端开发人员的必备工具
  4. 【渝粤题库】广东开放大学 传播学理论与实务 形成性考核
  5. Multivariate Linear Regression的参数估计
  6. Asp.net mvc中Controller的返回值
  7. Springboot使用FastJson后,接口返回中文乱码的问题解决。
  8. 《CSS权威指南》读书笔记10
  9. js 实现文件上传 php,JS+php后台实现文件上传功能详解
  10. CAD的输出成高清jpg图片
  11. ICMP协议(网际报文控制协议)详解
  12. OpenCV:remap()简单重映射
  13. SDKMAN 安装软件失败
  14. WebShell连接工具(中国菜刀、WeBaCoo、Weevely)使用
  15. 国债期货合约约(国债期货合约是什么)
  16. 常用计算机高级语言及其特点,计算机高级语言特点是什么?常见的语种有哪些?...
  17. 最好的WordPress搜索引擎优化技巧,你应该完全尝试
  18. 【深度学习】万字解读首篇「人脸复原」综述!南大、中山、澳国立、帝国理工等联合发布...
  19. flash 图片剪切 php,flash + php头像上传预览裁剪组件1.8发_php
  20. 精益生产之标准工时制度及管理办法

热门文章

  1. 机器学习处理信号分离_【火炉炼AI】机器学习054-用ICA做盲源分离
  2. 高等数学-向量代数与空间解析几何
  3. Java Access Bridge
  4. 计算机一些常用快捷指令
  5. 元气骑士里面的超级计算机,元气骑士古大陆的神器神威大全
  6. 【个人总结版】实验报告书写指导
  7. qomo linux最新版本,Qomo Linux下一个版本将推驱动中心
  8. android viewpager实现画廊效果,ViewPager实现2D、3D画廊效果
  9. 高通源代码 Ubuntu14.04下载编译Android(1)
  10. Kudu之Tablet的发现过程