AES加密项目配置文件

由于纯文本的配置文件有数据库链接等敏感信息,

考虑到安全方面,配置文件不想被第三方使用软件编译版本的人看到配置,需要将配置文件加密。

项目使用了python 的SafeConfigParser 库

在使用它读写配置文件时需要用到BytesIO 做临时存储

1 、读取加密的配置

例如:调用readfp()函数解析配置文件时 需要传一个文件句柄,但是配置文件是加密过的,所以需要先解密,这里会用到BytesIO 将解密后的文件内容放入BytesIO("解密后的字符串"),然后再将bytesio对象放入readfp中读取解密后的配置。

2、写入修改后的配置

在上一步骤中,读取到了配置,然后在代码中修改了配置, 比如set('redis', 'xxxx', 3333) ,需要将新增的配置项加密后存入配置文件,这里也会用到BytesIO, 写入的大致流程如下:

python 操作后的数据在内存中,调用config parser的write方法写入文件,这个write方法写入的是纯文本格式,所以我们需要先将内存中的纯文本写入bytesIO,然后再将bytesio 中的字符串加密,得到加密后的字符串使用系统函数write到配置文件。

需要注意的是configparser.write 方法写入bytesio时,bytesio.getvalue() 能得到数据,read()得不到数据。

另一个话题就是AES了,关于AES对称加密很多文章

推荐 http://www.cnblogs.com/kaituorensheng/p/4501128.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714G1ISRI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券