一、适用场景
忘记了数据库密码,但是navicate中还保存了数据库的密码,能通过navicate连接数据库,不能手动输入密码登陆。不想改密码,希望能从navicate中得到保存的密码。
二、步骤
点击文件-导出连接:
勾选上导出密码:
然后打开刚刚导出的ncx文件,找到账号和密码部分的信息:
这里的密码是加密后的,想要解密的话需要还需要一点小操作。github上已经有开源的工具了,支持多种语言解密。详情可以参考:how-does-navicat-encrypt-password。
使用python解密
要求电脑已经安装好python3,并且安装好了pycryptodome
和pypiwin32
库。
把代码库下载下来,进入到python3目录,执行NavicatCipher.py dec -ncx xxxx
即可得到解密后的密码,xxxx
是上面复制的密码。
1 2 3 4 5 6 7 8 9 10 11 |
$ ./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 |
评论