加密库Linux

时间:2018-08-13 20:57:27

标签: python encryption libraries

我在Raspberry Pi 3上创建了自己的Python库myLibrary.py,在另一个名为example.py的程序中,我使用了该库:

导入myLibrary

我需要将此Pi交给其他人,但是我想对库进行加密。我已经尝试过GnuPG,bcrypt和ccrypt。

我的问题是,一旦对库进行了加密,该程序就不再运行,我会出错,提示“没有名为myLibrary的模块

我如何加密该库并仍然可以在我的程序中使用它?

谢谢

3 个答案:

答案 0 :(得分:1)

Python必须读取该库才能运行它,并且要正确读取它,必须对其解密。否则,您如何期望python能够运行加密代码?

如果分发加密的库,则必须在导入之前添加代码以首先解密该库。否则,python无法读取加密的数据并知道其含义-这就是加密的全部重点!

答案 1 :(得分:1)

如果您要隐藏源,则可能很难这样做。您可能想找出是否值得进行这种努力。

  • 仅PYC分发:我个人不喜欢此选项,其中之一是仅分发字节码,即仅分发.pyc文件。但是,任何人只要再执行几步,就可以将这些文件中的字节码解构为人类可读的格式。
  • PyInstaller::第二个选项可能是使用PyInstaller,您可能想在这里阅读文档。

PyInstaller

  • 使用模糊处理::可能有一些针对Python的模糊处理工具,您可以查看它们进行模糊处理。您可能想在这里阅读stackoverflow问题:

Obfuscating Python code

  • SaaS:最后但并非最不重要的一点是,如果您确实要保护代码,请将其托管在服务器中并授予对服务的访问权限。所谓的软件即服务(SaaS)。

答案 2 :(得分:0)

它当然不会运行,一旦您对文件进行加密,任何试图读取的文件内容就不再有意义了(除非他们知道该文件已加密并具有解密它的密钥)。

该文件无法加密,至少对Python解释器有意义。

您可以采取的保护文件混淆措施。周围有几种Python混淆器,仅Google一词。