【问题标题】:encrypting passwords in a python conf file on a windows platform在 Windows 平台上的 python conf 文件中加密密码
【发布时间】:2011-03-01 15:25:31
【问题描述】:

我有一个在远程机器上运行的脚本。 db 信息存储在配置文件中。我希望能够加密 conf 文本中的密码,这样任何人都无法读取文件并获得对数据库的访问权限。这是我目前的设置:

我的 conf 文件敏感信息是用 base64 模块编码的。然后主脚本解码信息。我已经使用 py2exe 编译了脚本,以使其更难查看代码。 我的问题是:

有没有更好的方法来做到这一点?我知道 base64 不是一种非常安全的加密方式。有没有办法使用密钥进行编码?我也知道 py2exe 可以很容易地进行逆向工程,并且可以找到密钥。还有其他想法吗?

我也在 windows 机器上运行这个脚本,所以建议的任何模块都应该能够轻松地在 windows 环境中运行。我知道关于这个主题还有其他几篇帖子,但我还没有找到一个带有 Windows 解决方案的帖子,或者至少没有一个会解释的帖子。

【问题讨论】:

  • base64 'encryption' 与没有加密一样强大。每个人都可以解密它;存在很多在线解码器。

标签: python windows passwords encryption


【解决方案1】:

如果您希望能够取回密码(而不是您应该对其进行哈希处理),您可以随时对其进行加盐以采取额外措施。但是,如果用户可以从可执行文件中获取盐分,那将无济于事。

最好的办法是根本不让他们访问数据库。在您的数据库机器上使用 Web 服务或服务器。

【讨论】:

    【解决方案2】:

    老实说,我会使用其他一些后端。 AxCryptcommand line 开关。然后,您可以轻松地用 Python 编写一个包装器(如果您不想使用 AxCrypt 本身)。

    当然,如果您想要一个相当简单的方法,如果应用得当,可能会更安全,您可以使用 XOR 加密 - 用 Python 做这样的事情真的很容易。只要确保考虑到theweaknesses and strengths。但是,如果您有足够的信心制作一个安全的 (??) 密钥,它可能对您有用。

    但是,AxCrypt 解决方案可能同样简单并且可能更强大。请记住,没有什么是真正牢不可破的,真正的问题是他们需要多长时间才能打破它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2013-04-16
      • 2016-07-13
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多