Home Database navicat A brief analysis of how to view connected and saved passwords in Navicat

A brief analysis of how to view connected and saved passwords in Navicat

Mar 02, 2022 am 10:59 AM
navicat

How to check NavicatThe database password that has been connected and saved? The following article will introduce to you how to view the saved passwords of Navicat. I hope it will be helpful to you!

A brief analysis of how to view connected and saved passwords in Navicat

When using Navicat, I habitually save the password. Over time, I will forget the database password, which is very uncomfortable,

But , here is a trick, you can view the password saved by navicat connection

First export the connection

Export the connection and get the connections.ncx file

A brief analysis of how to view connected and saved passwords in Navicat

Remember the export password here! ! ! Otherwise, the exported file does not contain the encrypted password

A brief analysis of how to view connected and saved passwords in Navicat

Then find the value of the password field in the file

Copy him out

A brief analysis of how to view connected and saved passwords in Navicat

Start deciphering the password

Thanks to a big guy on Github for writing I have a program; you can directly crack the encrypted password

The program is PHP; if PHP is not installed locally, it doesn’t matter, just find a tool that runs online https://tool.lu/coderunner/

Just paste the code

Then replace the value in the second to last line with the encrypted password you just copied, and then run it

$decode = $navicatPassword->decrypt('999239DEBFA1960BCCB12566F1F417A6');
Copy after login

A brief analysis of how to view connected and saved passwords in Navicat

version = $version;
        $this->blowKey = sha1('3DC5CA39', true);
        $this->blowIv = hex2bin('d9c7c3c8870d64bd');
    }
    
    public function encrypt($string)
    {
        $result = FALSE;
        switch ($this->version) {
            case 11:
                $result = $this->encryptEleven($string);
                break;
            case 12:
                $result = $this->encryptTwelve($string);
                break;
            default:
                break;
        }
        
        return $result;
    }
    
    protected function encryptEleven($string)
    {
        $round = intval(floor(strlen($string) / 8));
        $leftLength = strlen($string) % 8;
        $result = '';
        $currentVector = $this->blowIv;
        
        for ($i = 0; $i < $round; $i++) {
            $temp = $this->encryptBlock($this->xorBytes(substr($string, 8 * $i, 8), $currentVector));
            $currentVector = $this->xorBytes($currentVector, $temp);
            $result .= $temp;
        }
        
        if ($leftLength) {
            $currentVector = $this->encryptBlock($currentVector);
            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
        }
        
        return strtoupper(bin2hex($result));
    }
    
    protected function encryptBlock($block)
    {
        return openssl_encrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING); 
    }
    
    protected function decryptBlock($block)
    {
        return openssl_decrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING); 
    }
    
    protected function xorBytes($str1, $str2)
    {
        $result = '';
        for ($i = 0; $i < strlen($str1); $i++) {
            $result .= chr(ord($str1[$i]) ^ ord($str2[$i]));
        }
        
        return $result;
    }
    
    protected function encryptTwelve($string)
    {
        $result = openssl_encrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
        return strtoupper(bin2hex($result));
    }
    
    public function decrypt($string)
    {
        $result = FALSE;
        switch ($this->version) {
            case 11:
                $result = $this->decryptEleven($string);
                break;
            case 12:
                $result = $this->decryptTwelve($string);
                break;
            default:
                break;
        }
        
        return $result;
    }
    
    protected function decryptEleven($upperString)
    {
        $string = hex2bin(strtolower($upperString));
        
        $round = intval(floor(strlen($string) / 8));
        $leftLength = strlen($string) % 8;
        $result = '';
        $currentVector = $this->blowIv;
        
        for ($i = 0; $i < $round; $i++) {
            $encryptedBlock = substr($string, 8 * $i, 8);
            $temp = $this->xorBytes($this->decryptBlock($encryptedBlock), $currentVector);
            $currentVector = $this->xorBytes($currentVector, $encryptedBlock);
            $result .= $temp;
        }
        
        if ($leftLength) {
            $currentVector = $this->encryptBlock($currentVector);
            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
        }
        
        return $result;
    }
    
    protected function decryptTwelve($upperString)
    {
        $string = hex2bin(strtolower($upperString));
        return openssl_decrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
    }
}
 
 
use FatSmallTools\NavicatPassword;
 
//需要指定版本,11或12
$navicatPassword = new NavicatPassword(12);
//$navicatPassword = new NavicatPassword(11);
 
//解密
//$decode = $navicatPassword->decrypt('15057D7BA390');
$decode = $navicatPassword->decrypt(&#39;999239DEBFA1960BCCB12566F1F417A6&#39;);
echo $decode."\n";
Copy after login

Related recommendations: navicat tutorial

The above is the detailed content of A brief analysis of how to view connected and saved passwords in Navicat. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Navicat's solution to the database cannot be connected Navicat's solution to the database cannot be connected Apr 08, 2025 pm 11:12 PM

The following steps can be used to resolve the problem that Navicat cannot connect to the database: Check the server connection, make sure the server is running, address and port correctly, and the firewall allows connections. Verify the login information and confirm that the user name, password and permissions are correct. Check network connections and troubleshoot network problems such as router or firewall failures. Disable SSL connections, which may not be supported by some servers. Check the database version to make sure the Navicat version is compatible with the target database. Adjust the connection timeout, and for remote or slower connections, increase the connection timeout timeout. Other workarounds, if the above steps are not working, you can try restarting the software, using a different connection driver, or consulting the database administrator or official Navicat support.

How to use navicat keygen patch How to use navicat keygen patch Apr 09, 2025 am 07:18 AM

Navicat Keygen Patch is a key generator that activates Navicat Premium, allowing you to use the full functionality of the software without purchasing a license. How to use: 1) Download and install Keygen Patch; 2) Start Navicat Premium; 3) Generate the serial number and activation code; 4) Copy the key; 5) Activate Navicat Premium, and Navicat Premium can be activated.

Troubleshooting Navicat database connection issues Troubleshooting Navicat database connection issues Apr 08, 2025 pm 11:09 PM

If Navicat cannot connect to the database, you can troubleshoot the following steps: Verify the connection parameters: Check the user name, password, database address, and port. Check firewall settings: Make sure that the firewall does not block Navicat from accessing the database server. Verify the database server: Confirm that the server is running and can receive the request. Check network connections: Make sure that the computer is connected to the database server. Verify database version: Make sure Navicat and database server versions are compatible. Disable SSH tunneling: Try to connect directly to the server. Check Navicat settings: Verify the connection settings, including character set, encoding, and try resetting the settings. Contact Technical Support: If the above steps are invalid, please seek technical support.

Does navicat support Dameng database? Does navicat support Dameng database? Apr 08, 2025 pm 11:18 PM

Navicat is a powerful database management tool that supports Dameng database. It provides comprehensive features such as connection management, SQL queries, data modeling, performance monitoring, and user management. With its intuitive user interface and in-depth support for Dameng database, Navicat provides database administrators and developers with solutions to efficiently manage and operate Dameng databases.

Navicat Connection Database: Differences and troubleshooting between remote and local connections Navicat Connection Database: Differences and troubleshooting between remote and local connections Apr 08, 2025 pm 10:51 PM

Remote connections and local connections access databases over the network differently. The remote connection accesses the database on the remote server over the Internet, while the local connection directly accesses the database stored on the local computer.

Navicat cannot connect to MySQL/MariaDB/PostgreSQL and other databases Navicat cannot connect to MySQL/MariaDB/PostgreSQL and other databases Apr 08, 2025 pm 11:00 PM

Common reasons why Navicat cannot connect to the database and its solutions: 1. Check the server's running status; 2. Check the connection information; 3. Adjust the firewall settings; 4. Configure remote access; 5. Troubleshoot network problems; 6. Check permissions; 7. Ensure version compatibility; 8. Troubleshoot other possibilities.

How to Chineseize navicat How to Chineseize navicat Apr 08, 2025 pm 11:30 PM

Navicat Chineseization method: Download the corresponding Chinese version patch and back up the original file; copy the Chinese version patch to the Navicat installation directory to overwrite the original file; restart Navicat; verify whether the menu, options, and prompts have been Chinese versioned.

How to create stored procedures with navicat How to create stored procedures with navicat Apr 08, 2025 pm 11:36 PM

You can use Navicat to create a stored procedure, the steps are as follows: Open the database object list and expand the "Procedures" node. Right-click the Procedures node and select Create Procedure. Enter the stored procedure name and body and set the parameters (if required). Select Compile in the File menu to compile the stored procedure. By executing a query or using "E in the "Procedures" list

See all articles