Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 7166|回复: 0

忘记了Odoo的Admin账户密码怎么办?

[复制链接]

119

主题

119

帖子

566

积分

高级会员

Rank: 4

积分
566
发表于 2016-9-22 21:55:07 | 显示全部楼层 |阅读模式
7.0及以前,用户密码在数据库里是明文保存的。(用户密码加密是通过加载第三方模块来实现的)
对于管理员把自己锁在门外这样的糗事,7.0及以前的版本是极易处理的,只要可以访问数据库,查询res_users表,执行下面的命令就可以知道密码,不仅是管理员,所有人的密码噢
select login,password from res_users;

Odoo V8后,系统默认对用户密码通过SHA-512的哈希算法进行了加密,并将加密后的hash值保存在res_users表的password_crypt字段中。虽然我们仍然能通过访问数据库获得这些hash值,但是因为hash算法的不可逆性,我们是无法反推出对应的用户密码的。

老办法不管用了,反推恢复密码不可行。但是,只要我们知道Odoo用的加密算法,我们就可以创建一个新密码并且覆盖旧的加密密码,可以用下面的python代码来创建一个新的加密密码,替换其中的'MY_PASSWORD'为你的用户密码:
from passlib.context import CryptContext
print CryptContext(['pbkdf2_sha512']).encrypt('MY_PASSWORD')
然后把上面代码所生成的用户密码的hash值用下面的SQL覆盖数据库中的已有加密密码即可:
UPDATE res_users SET password_crypt='your new password hash'WHERE id=1;
这样你就能用新密码登录了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-3-29 03:39 , Processed in 0.012089 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表