openerp连接数据库的用户名和密码可以命令行给出, 也可以设置在配置文件中, 如下例所示:
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 在config.py文件的头部, 还需要加入如下一行, 导入base64编码需要的库
import hashlib base64编码方式很容易被踩猜到, 特别是末尾有等于号的时候, 因此它很容易被破解。本文只是举例说明修改openerp的方式, 在生产实际中应该使用更安全的加密和解密方式。 为了安全起见, 修改后的config.py文件也应该删去, 只留下编译后的config.pyc文件

在OpenErp的配置文件中为数据库密码加密的更多相关文章

  1. glassfish配置中数据库密码加密方法

    glassfish配置中数据库密码加密方法 Glassfish中的数据库连接池需要使用密文保存数据库密码.如果不是,则可按如下方法可配置 通过Glassfish中的Alias实现,配置方法如下: 1. ...

  2. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  3. 使用durid的ConfigFilter对数据库密码加密

    <!-- 配置dbcp数据源 --> <bean id="remoteDS" class="org.apache.commons.dbcp.BasicD ...

  4. python3读取sqlyog配置文件中的MySql密码

    这个人有什么目的?: 我多多少少听过一些安全圈的大牛说到类似的思路,大意是可以通过扫描各种程序和服务的配置文件(比如SVN的文件,RSYNC的配置文件等), 从中发现敏感信息,从而找到入侵的突破口.沿 ...

  5. Windows环境下redis 配置文件中设置的密码无效

    当我们安装了redis服务后,发现在其配置文件redis.windows.conf(或redis.conf)设置了密码:requirepass ****** 但是打开redis-cli.exe后输入命 ...

  6. Spring-Boot数据库密码加密配置

    springboot集成mysql/oracle时需要在yml/properties中配置数据库信息,用户名密码是肯定有的,所以就涉及到密码的加密,当然不加密也是可以的,正如某位大佬所说的,不加密就像 ...

  7. 在spring boot中使用jasypt对配置文件中的敏感字符串加密

    在spring boot的配置文件application.property(application.yml)文件中常常配置一些密码类的字符,如果用明文则很容易被盗用,可以使用jasypt在配置密码的地 ...

  8. springboot对数据库密码加密

    第一步:maven引jar包 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifa ...

  9. 【SpringBoot】SpringBoot集成jasypt数据库密码加密

    一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文 ...

随机推荐

  1. laravel将数据库对象转为数组的方法

    亲测有效 array_map('get_object_vars', $data);

  2. 【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过 ...

  3. 【转】Python unittest数据驱动工具:DDT

    背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...

  4. (2)Python 变量和运算符

    一.python变量特点 python是弱类型语言,无需声明变量可以直接使用并且变量的数据类型可以动态改变 二.变量命名规则 1.不能使用python关键字 2.不能数字开头 3.不能包含空格 4.不 ...

  5. 学习LSM(Linux security module)之二:编写并运行一个简单的demo

    各种折腾,经过了一个蛋疼的周末,终于在Ubuntu14.04上运行了一个基于LSM的简单demo程序. 一:程序编写 先简单的看一下这个demo: //demo_lsm.c#include <l ...

  6. 去掉Chrome手机版首屏的“推荐的文章”

    百度可得很多类似的文章,然而都是失效的,,比如此文,本文演示所使用的Chrome版本为59. 百度所得的解决办法都是同一个,排版,截图都是一样的,害我浪费了不少力气. 第一,转载文章未标明文章出处: ...

  7. luogu P2024 食物链

    题目描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B 吃 C,C 吃 A. 现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的一种,但是我 ...

  8. 【母函数】hdu2082 找单词

    普通型母函数详解见这里:http://www.wutianqi.com/?p=596 裸题,存个板子. #include<cstdio> #include<cstring> u ...

  9. 【分块】bzoj2120 数颜色

    分块,在每个点记录一下它之前离它最近的相同颜色的位置pre[i],显然问题转化成了求[l,r]中pre[i]<l的值的个数. 这是分块擅长的,在每个块内记录有序表,查询时对零散的暴力,整块的二分 ...

  10. 【OpenJudge9267】【递推】核电站

    核电站 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB [描述] 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆 ...