如何在python中加密/解密配置文件

时间:2019-04-24 21:50:47

标签: python encryption configuration-files

我有一个读取配置文件的python应用程序。我需要对配置文件进行加密,以使其不在磁盘上。然后,我需要在我的应用程序中解密它并读取值。我看到有一个库Secureconfig,但仅适用于python2。python中是否有类似的lib可以帮助我做到这一点?

2 个答案:

答案 0 :(得分:1)

由于您的程序将必须包含解密密钥,因此您将无法保护数据免受确定的用户的侵害,只能使解密变得更加困难。

根据Cryptographic Services — Python 3.7.3 documentation,Python不包含任何现成的真实密码。只有codecs拥有Caesar's cipher和标准编码,如UUEncode和Base64,这些编码可恢复地处理数据。

因此,如果以上内容对您来说不够好,则您需要自己实施对称密码或使用库。参见例如Python AES encryption without extra module

由于这里不可能提供真正的安全性,因此,根据您想为黑客用户设定的难易程度而定的方法是:security through obscurity:使用非标准密码,不要一次解密所有文件,在进行加密/解密的地方有很多不同的地方,使用混淆的代码,添加隐藏的校验和以防止篡改,使用存储在其他意外地方的文件外部的数据位等。

如果您只是想使临时用户无法理解该文件,那么在使用文本编辑器查看时,将Base64与XOR cipher结合使用会使数据完全无法理解。

答案 1 :(得分:0)

@ H.Z。 -正如Ivan所指出的,根据您想要的安全级别,有很多选择。

我正在从事与您所描述的项目类似的项目,并且正在使用cryptogrophay库(https://cryptography.io/en/latest/

您可以使用pip轻松安装它。

我正在一步一步地使用它来加密我的配置文件-然后在我的主Python文件中有一个单独的脚本进行解密。解密脚本中将包含从加密脚本生成的密钥。

希望此信息对您尚未解决的问题有所帮助。