This repo will tell you how Navicat encrypts password and offer a tool to reveal passwords encrypted by Navicat.
1. What is Navicat?
Navicat is a series of graphical database management and development software produced by PremiumSoft CyberTech Ltd. for MySQL, MariaDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server.
It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.
2. What does indicate that Navicat encrypts password?
If you use Navicat to manage one of your databases, the first thing you should do is to create a connection to the database. So that means you should fill textboxes on the window showed below with the database’s information like Host name, User name, Password and so on.

If you check “Save Password”, after you click “Ok” button, Navicat will encrypt the password and then save the connection configuration, containing encrypted password, in Windows Registry. The exact path is showed below:
| Database Type | Path |
|---|---|
| MySQL | HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\<your connection name> |
| MariaDB | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\<your connection name> |
| MongoDB | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers\<your connection name> |
| Microsoft SQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\<your connection name> |
| Oracle | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\<your connection name> |
| PostgreSQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\<your connection name> |
| SQLite | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers\<your connection name> |
The following is an example:
3. How does Navicat encrypt password?
See here.
4. How to use the sample code in python3 folder?
- Please make sure that you have
Python3. - Please make sure that you have
pycryptodomemodule if you want to useNavicatCipher.pyandNcxReader.py. You can installpycryptodomemodule by command: $ pip install pycryptodome - Please make sure that you have
pypiwin32module if you want to useShowNavicat.py. You can installpypiwin32module by command: $ pip install pypiwin32
Leave a comment