一、适用场景

忘记了数据库密码,但是navicate中还保存了数据库的密码,能通过navicate连接数据库,不能手动输入密码登陆。不想改密码,希望能从navicate中得到保存的密码。

二、步骤

点击文件-导出连接

勾选上导出密码

然后打开刚刚导出的ncx文件,找到账号和密码部分的信息:

这里的密码是加密后的,想要解密的话需要还需要一点小操作。github上已经有开源的工具了,支持多种语言解密。详情可以参考:how-does-navicat-encrypt-password

使用python解密

要求电脑已经安装好python3,并且安装好了pycryptodomepypiwin32库。

把代码库下载下来,进入到python3目录,执行NavicatCipher.py dec -ncx xxxx即可得到解密后的密码,xxxx是上面复制的密码。

$ ./NavicatCipher.py enc "This is a test"
0EA71F51DD37BFB60CCBA219BE3A

$ ./NavicatCipher.py dec 0EA71F51DD37BFB60CCBA219BE3A
This is a test

$ ./NavicatCipher.py enc -ncx "This is a test"
B75D320B6211468D63EB3B67C9E85933

$ ./NavicatCipher.py dec -ncx B75D320B6211468D63EB3B67C9E85933
This is a test
最后修改:2019 年 06 月 01 日
如果觉得我的文章对你有用,请随意赞赏