1. 为什么我们需要找回Navicat的密码?
你可能遇到过这样的情况:公司里那台老旧的测试服务器,上面跑着一个关键的MySQL数据库,连接信息一直保存在你电脑的Navicat里。突然有一天,这台服务器需要迁移,或者你要把连接配置分享给新来的同事,却发现——密码早就忘了!Navicat为了方便用户,勾选了“记住密码”后,那个密码框就变成了一串星号,时间一长,谁还记得当初设的是什么?
这时候,你可能会去翻找当年记密码的小本本(如果还有的话),或者尝试那些常用的密码组合,但往往都是徒劳。更麻烦的是,如果这个数据库连接是前任同事配置的,他人已经离职,这几乎就成了一个“死结”。直接重置数据库密码?在没有其他管理权限的情况下,风险很高,可能影响正在运行的服务。
所以,从本地Navicat里找回已保存的密码,就成了一个非常实际且迫切的需求。这不仅仅是“找回密码”,在很多时候,它关乎数据迁移的连续性、团队协作的顺畅性,甚至是故障排查和灾难恢复的关键一环。Navicat作为一款流行的数据库管理工具,它把密码加密后存储在了两个地方:Windows系统的注册表,以及它自己导出的连接配置文件(.ncx文件)里。理解这个机制,就等于掌握了一把钥匙,能在必要时打开这扇门。
我过去在负责运维多个项目环境时,就多次靠这个方法“救急”。比如有一次,一个老旧项目的数据库服务器硬盘故障,我们需要紧急将数据迁移到新机器。所有的应用配置都指向旧的连接串,而密码只在某位已离职开发人员的Navicat配置里。正是通过解析注册表里加密的密码,我们才在最短时间内恢复了服务,避免了更长的业务中断。下面,我就把这套从定位密文到编写代码解密的完整流程,掰开揉碎了讲给你听,哪怕你之前没怎么接触过加解密,也能跟着一步步做下来。
2. 第一步:找到密码藏在哪里(注册表篇)
Navicat在Windows系统上,会把你的服务器连接配置,包括加密后的密码,一股脑儿存进Windows注册表。你可以把注册表想象成Windows系统的一个巨型、树状的配置文件仓库,所有软件都喜欢在这里面记录自己的小秘密。我们的目标,就是找到Navicat藏密码的那个“抽屉”。
2.1 打开注册表编辑器
操作非常简单,同时按下键盘上的 Win 键和 R 键,会弹出“运行”对话框。在输入框里键入 regedit,然后回车。这时系统可能会弹出一个用户账户控制(UAC)的提示,问你是否允许此应用对设备进行更改,点击“是”即可。这个 regedit 就是“注册表编辑器”的启动命令。
打开后,你会看到一个类似文件资源管理器的界面,左边是树状的目录结构,称为“项”,右边显示的是具体键值。我们的导航就要开始了。
2.2 定位Navicat的密码存储路径
Navicat的密码存储路径是固定的,但会根据版本和连接类型略有不同。最核心的路径是: 计算机\HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\
在这个主项下,你会看到以数据库类型命名的子项,例如:
Navicat\Servers\– 这里存储的是MySQL、MariaDB等服务器的连接。NavicatPG\Servers\– 存储PostgreSQL连接。NavicatOra\Servers\– 存储Oracle连接。NavicatSQLServer\Servers\– 存储SQL Server连接。
我们以最常用的MySQL(对应Navicat项)为例。依次展开 HKEY_CURRENT_USER -> SOFTWARE -> PremiumSoft -> Navicat -> Servers。
展开Servers后,你会看到一系列以你连接的服务器名称命名的子项。点击其中一个,比如你有一个连接叫“Localhost_MySQL”,那么在右侧的窗格中,你会看到多个REG_SZ类型的字符串值。其中,Pwd这一项,就是我们梦寐以求的加密后的密码密文。它通常是一长串由数字和字母A-F组成的十六进制字符串。
这里有个非常重要的细节: Navicat 11版本和Navicat 12及以上版本,其加密算法完全不同!在注册表里,它们都叫Pwd,但密文格式和背后的解密方式天差地别。Navicat 11使用的是Blowfish算法,而Navicat 12及以上版本则换成了AES算法。这也是为什么我们后续的Java代码里会有两套不同的解密类。你首先需要知道自己用的是哪个版本的Navicat。一个简单的判断方法是,查看Servers项的同级,是否有NavicatPremium或Navicat16这样的项,或者直接回忆一下你的Navicat版本号。
2.3 导出连接文件(更推荐的方法)
直接操作注册表虽然直接,但略显生硬,而且容易误操作。Navicat本身提供了一个更友好、更安全的方式来获取包含加密密码的配置文件——导出连接。
- 打开你的Navicat。
- 点击顶部菜单栏的 “文件”。
- 在下拉菜单中选择 “导出连接”

2万+

被折叠的 条评论
为什么被折叠?



