【问题标题】:How to encrypt back end code or prevent the user from seeing it without a key如何加密后端代码或防止用户在没有密钥的情况下看到它
【发布时间】:2021-08-03 21:41:51
【问题描述】:

我正在编写一个 Python 代码,打算分发给其他人。

问题是,我希望能够加密代码,这样他们就不能读入我编写的任何代码,因此不能窃取我的想法并复制它,同时仍然能够将程序用作我打算。

有没有人有这方面的经验,或者至少对去哪里有什么建议?

【问题讨论】:

    标签: python encryption share hidden


    【解决方案1】:

    据我所知,这是不可能的。如果您与其他人共享 python 脚本,则表示您委托他们不要泄露您认为机密的任何源代码。如果你加密源代码,那么 python 的解释器将无法解释代码(因此,你发送加密的 python 脚本的人将无法执行它,除非你给他们密钥——在在这种情况下,您不妨以明文形式发送)。无论您做什么,由于 Python 是一种解释性语言,您必须以明文形式提供给他们使用的脚本(无论您尝试制作多么复杂的脚本以阻止他们查看它)。如果你不介意我问:你想和他们分享什么样的节目?例如,如果您在 Web 上提供应用程序(并使用服务器端语言严格编码重要的商业秘密算法),那么他们将永远不会接触到该源代码。或者,尽管我不建议这样做,但您可以将用编译语言编码的脚本发送给他们(因此将二进制文件发送给他们)——但请注意,有很多非常聪明的人知道如何挑选二进制可执行文件。如果您正在创建一个需要用 python 编码的生产 python 脚本,那么我建议您获得一个许可证,使人们在未经您同意的情况下复制您的代码是非法的。

    【讨论】:

    • 我听说有些人通过将 python 包装在 C++ 对象中来获得可接受的结果?我不完全理解这意味着什么,但它似乎有一定的意义。你以前听说过这个吗?
    • @ChristopherOjo Here 是关于如何使用 C 或 C++ 扩展 Python 的官方文档。但是,除非您只是试图实现晦涩难懂,而不是 100% 阻止人们查看它,否则我会警告您,为 Python 扩展 C++ 中的任何内容只会使代码更难以阅读——但不会防止有一颗极其专注的心的人解剖它。也许如果您对您的程序及其作用进行更多解释,我可以提供更多帮助。
    • 我的代码是一个交易机器人。有些策略我不希望人们通过代码来剖析和弄清楚。
    • @ChristopherOjo Here 是另一个讨论您的问题的线程。我的两分钱是,无论您使代码阅读多么困难,都可以对 python 脚本进行逆向工程(即使其中一些是 C++ 中的,因为他们可以对二进制文件进行逆向工程)。您可以使用各种技术使阅读代码变得异常困难,但这并不意味着有人无法对其进行逆向工程。我建议获得许可证,使任何人复制它都是非法的。
    • @ChristopherOjo 想一想:是否可以让您的机器人成为 Web 服务?如果是这样,您可以使用您的 python 代码作为服务器端语言(使用 python flask 之类的东西)创建一个网站:这样客户就不会接触到代码。
    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2023-04-03
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多