fastapi项目如何加密?

本文共有751个字,关键词:

问题:fastapi框架开发的项目代码如何加密部署?

解决:使用pyarmor对python代码进行混淆加密

方法:

1、pyarmor9.2.3+ 加密

pyarmor gen -O dist --obf-module 0 --obf-code 0 --no-wrap app
  • --obf-module 0 :禁用模块级混淆
  • --obf-code 0 :禁用函数级混淆
  • --no-wrap :禁用wrap模式

注:Pyarmor的高级别加密(特别是模块混淆和函数混淆)可能会导致某些Python代码在运行时出现内存访问错误,尤其是涉及到动态导入、反射或特定库(如SQLAlchemy)时。通过降低加密级别,可以在保持基本加密保护的同时,确保代码的稳定性和可靠性。

2、测试运行

cd dist
python app/main.py

注:如果有.env、static、template等文件或文件夹则需要手动复制到dist目录下
如果项目不是使用根路径导入模块的话,则需要配置pyathpath

$env:PYTHONPATH="d:\Projects\app-server\dist"

或将生成的pyarmor_runtime_000000文件夹移动到dist/app目录下

2、Docker 部署

docker build -t app-server .
docker run -p 9090:9090 app-server
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论