如何保护Python源代码,同时使文件可供运行?

如何保护Python源代码,同时使文件可供运行?,python,encryption,Python,Encryption,所以,我最近制作了一个Python程序,我想把它发送给能够执行它的人,但不能阅读我在其中输入的代码。有什么办法吗? 顺便说一句,我希望它是不可逆的,除非被我逆转 简而言之,以下是我的参数: 应该仍然是Python文件 不能逆转,除非是我 代码不应该是可读的 仍应具有运行的能力 您发布的标准不一致。 Python是一种解释语言。运行该语言的实体(即Python解释器)正在逐行读取并执行代码。如果您将其打包发送给某人,那么他们的Python解释器必须对该文件具有读取权限,无论是源代码还是“编译”的P

所以,我最近制作了一个Python程序,我想把它发送给能够执行它的人,但不能阅读我在其中输入的代码。有什么办法吗?
顺便说一句,我希望它是不可逆的,除非被我逆转
简而言之,以下是我的参数:

  • 应该仍然是Python文件
  • 不能逆转,除非是我
  • 代码不应该是可读的
  • 仍应具有运行的能力

  • 您发布的标准不一致。 Python是一种解释语言。运行该语言的实体(即Python解释器)正在逐行读取并执行代码。如果您将其打包发送给某人,那么他们的Python解释器必须对该文件具有读取权限,无论是源代码还是“编译”的Python(很容易反编译为等效的源代码)

    如果我们对“发送给某人”有更广泛的理解,那么可能会有一个满足您需求的业务解决方案。您将提供您的功能,而不是代码:将其作为服务从某个可用服务器部署:您自己的或租用的空间。要做到这一点,您需要为您的功能提供一个接口


    如果这满足了您的需要,那么您现在就有了下一个研究主题。

    实现类似目标的最佳方法是将代码打包到
    exe
    文件中,这样程序就只是一个可执行文件,而不是真正的源代码。这样做的另一个好处是,最终用户不必安装python来运行代码。然而,需要注意的是,即使是
    exe
    文件也可以反编译成字节码。即使是现成的生产程序也可以对他们这样做。但这不是一般用户都知道的。请重复并从。特别是,我们希望您在发布之前搜索答案。这很好,但我只希望它是Python格式的,因为您新添加的条件不匹配,我已重新打开问题。但简单的回答是,你不可能拥有所有这些。是的,我们确信。要么编译成字节码,将其作为服务运行(如@Prune建议),要么让他们看到代码,要么不使用python。那么,如果我使用多个服务来加密我的.pyc/.py文件(基本上添加了多层加密),会怎么样?我不确定您希望从中得到什么样的响应。你打算得到什么?在额外的加密中,您实现了哪些额外的安全层,而这些安全层在一个加密中没有实现?请澄清这个问题?我的意思是,如果我使用内置编译器创建一个.pyc文件,然后使用外部工具进一步加密.pyc文件,该怎么办?“加密”涵盖了很多方面。我想你是在要求我对一个设计进行评论,在这种情况下,我需要你解释完整的设计。如何部署加密的预编译文件?否。编译器将Python源代码作为输入,并生成预编译的中间代码。除了Python解释器之外,中间代码不是任何东西的输入格式。是的,您可以通过一个通用编码器运行它,但是您的目标点必须在执行之前对其进行解码。