如何使 .py 文件不可读? [复制]

Posted

技术标签:

【中文标题】如何使 .py 文件不可读? [复制]【英文标题】:How to make a .py file not human readable? [duplicate] 【发布时间】:2020-03-22 02:43:25 【问题描述】:

我有一个 .py 格式的脚本和一个 pickle 格式的随机森林,我应该将它交付给客户。他应该不能同时阅读两者。

【问题讨论】:

请注意,链接答案中提供的所有答案都会混淆代码,但即使是编译后的代码也是一组关于如何获取数据并产生所需输出的指令,因此可以对其进行逆向工程.简而言之,“锁只会将诚实的人拒之门外”。如果您要保护商业秘密,这是不够的。 唯一真正安全的方法是将其作为云服务提供 - 然后他们将无法确定读取它。 【参考方案1】:

如果你真的要隐藏代码**,我建议你使用混淆器

一个例子:https://wiki.python.org/moin/Pyarmor

PS:您在这里也有类似的问题:How to obfuscate Python code effectively?

另外,这是我从未做过或探索过的事情,但通过仅 PYC 分发可能是一种替代方案,但您必须自己探索。 在https://www.curiousefficiency.org/posts/2011/04/benefits-and-limitations-of-pyc-only.html了解更多信息

*** 我知道混淆代码不好,但有时公司需要它:/

【讨论】:

问题在于 Python 代码将始终保持去混淆,并且可以从这些混淆文件中恢复源代码。想要一种类似于 Python 的编译语言,请使用 Go。 我知道,但这取决于用户的技能,虽然如果用户能够理解代码/传递给会理解它的人,那么混淆可能不是什么大问题 我会说我是 python 的初学者,代码还没有变得如此复杂,但我仍然想从一开始就正确地做到这一点。感谢您的回复。我会浏览链接 不客气。祝你好运;)

以上是关于如何使 .py 文件不可读? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CSS 或 jquery 使链接不可点击? [复制]

如何使 JTable 单元格不可编辑但应该能够选择和复制当前单元格中的值

如何使 MSBuild 自动将所有间接引用复制到输出(bin)文件夹

c#如何使一个文本框变为不可编辑?但是又可以复制里面的数据?

使文本不可复制 HTML

如何在不可编辑脚本不应用绑定的视图元素中复制数据绑定函数?