在OpenErp的配置文件中, 为数据库密码加密
2014-01-10 18:32
423 查看
openerp连接数据库的用户名和密码可以命令行给出, 也可以设置在配置文件中, 如下例所示:
因为它使用了明文的密码, 因此就存在一定的安全隐患。 将配置文件中的密码进行加密, 可以在一定程度上提高系统的安全性
openerp在启动时读取配置文件,将配置文件或或命令行中设置的参数保存到了对象configmanager的options之中。因此, 我们可以在配置文件中对某项数据加密, 然后openerp的程序读取options时, 对加密的数据进行解密即可。
加密和解密的方法有许多种,我们必须采用可逆的方法,比如Base64编码:
加密过程: 我们用notepad++打开配置文件, 选择密码, 然后点击菜单 插件 | MIME Tools | BASE64 Encode, 连续点击数次。记录好点击的次数(比如,3次)。
解密过程: 修改tools目录下的config.py
将文件最末尾的def __getitem__(self, key)改为如下内容
在config.py文件的头部, 还需要加入如下一行, 导入base64编码需要的库
base64编码方式很容易被踩猜到, 特别是末尾有等于号的时候, 因此它很容易被破解。本文只是举例说明修改openerp的方式, 在生产实际中应该使用更安全的加密和解密方式。
为了安全起见, 修改后的config.py文件也应该删去, 只留下编译后的config.pyc文件。
原文 http://blog.sina.com.cn/s/blog_53d318170101iido.html
db_user = openerp db_password = laoliu |
openerp在启动时读取配置文件,将配置文件或或命令行中设置的参数保存到了对象configmanager的options之中。因此, 我们可以在配置文件中对某项数据加密, 然后openerp的程序读取options时, 对加密的数据进行解密即可。
加密和解密的方法有许多种,我们必须采用可逆的方法,比如Base64编码:
加密过程: 我们用notepad++打开配置文件, 选择密码, 然后点击菜单 插件 | MIME Tools | BASE64 Encode, 连续点击数次。记录好点击的次数(比如,3次)。
解密过程: 修改tools目录下的config.py
将文件最末尾的def __getitem__(self, key)改为如下内容
def __getitem__(self, key): res=self.options[key] if (key == "db_password") : for i in range(3): # 这里的3是连接做base64编码的次数 res=res.decode("base64") return res |
import hashlib |
为了安全起见, 修改后的config.py文件也应该删去, 只留下编译后的config.pyc文件。
原文 http://blog.sina.com.cn/s/blog_53d318170101iido.html
相关文章推荐
- Openerp在配置文件中为数据库密码加密
- 在OpenErp的配置文件中为数据库密码加密
- druid-1.0.13 数据库配置文件密码加密
- Web项目中对配置文件中的密码进行加密(数据库连接密码)
- 数据库配置文件加密
- MySQL连接配置文件密码加密及其在多种连接池上的应用
- 如何加密Web项目中配置文件中的密码?
- SQLSERVER使用密码加密备份文件以防止未经授权还原数据库
- spring 配置中,数据库相关信息如何加密放在属性文件中
- 使用Jasypt对数据库配置文件进行加密
- 关于SSH框架整合中,数据库配置文件加密解决思路记载
- 单点登录之cas4.2.7服务端数据库配置(读数据库验证用户并对密码进行加密)
- Spring 中使用jasypt对配置文件(.properties)中密码加密
- 做个友善的系统配置页面、数据库连接串加密方式存储在配置文件的做法参考
- 面试常见问题:如何加密Web项目中配置文件中的密码?
- 做个友善的系统配置页面、数据库连接串加密方式存储在配置文件的做法参考
- proxool配置文件中用户和密码加密
- java web项目中的properties文件中的属性值在启动后进行修改(数据库密码加密等)
- spring-jdbc文件数据库配置加密
- SQLSERVER使用密码加密备份文件以防止未经授权还原数据库