执行加密的python字节码。

pyce的Python项目详细描述


Pyce

pyce是一个库,用于处理加密的python字节码。它补充道 通过扩展内置关键字 import有效。目前,它假设将使用聚合加密, 但图书馆可以扩建。例如,功能可以添加到 通过Hashicorp's Vault解密文件 支持将聚合加密作为一种操作模式)。

pyce通过 确保每个部署的文件正是开发人员想要的 实施端到端加密。即使只有一点点 导入的python文件被修改。

我怎么用?

首先,您需要加密模块或包。注意:这是 破坏性操作。不要在未保存的代码基上运行此操作 其他地方。这可以对文件夹递归操作,并支持排除 列表(不加密某些文件)。

pyce期望使用命令将文件预编译为python字节码 类似于python3 -mcompileall -b,其中-b执行就地编译。

frompyceimportencrypt_pathencrypt_path('pyce/hello.pyc')[('pyce/hello.pyce','443df1d5f9914d13ed27950dd81aa2dd9d3b708be416c388f3226ad398d71a14')]

其次,注册密钥并尝试从加密模块导入,或者 套餐:

frompyceimportPYCEPathFinderPYCEPathFinder.KEYS={'pyce/hello.pyce':'443df1d5f9914d13ed27950dd81aa2dd9d3b708be416c388f3226ad398d71a14'}importsyssys.meta_path.insert(0,PYCEPathFinder)frompyce.helloimporthellohello()

密钥分发不在本项目的范围内。你需要 通常通过使用网络密钥服务器(如Hashicorp's Vault)来维护密钥。你可以按环境传递密钥 变量,stdin,或其他一些机制。

通常,您将保留(排除)一个存根文件,该文件设计为仅挂接 python的导入路径解析器,设置键,然后执行代码。

我能用它做什么?

文件完整性监视:您可以保护正在运行的生产代码 在应用程序服务器上,通过添加导入的自动加密检查。

许可:您可以将加密模块发布到pypi,并且只发布 解密某些组织、人员或其他人的密钥!你可以发表 任何地方都有这样的模块!

at rest代码保护:您可以通过集成 使用ide或其他软件即时解密。这更像是 在这个时间点上的diy项目,但是pyce提供了所有的构建块 你需要!

许可证

所有这些代码都是在Apache v2.0 License下发布的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?