search
HomeDatabasenavicatA brief analysis of how to view connected and saved passwords in 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');

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";

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
This article is reproduced at:博客园. If there is any infringement, please contact admin@php.cn delete
Could Firewall Settings Be Blocking Navicat's Connection?Could Firewall Settings Be Blocking Navicat's Connection?May 14, 2025 am 12:09 AM

Yes,firewallsettingscanblockNavicat'sconnectiontoyourdatabaseserver.1)ChecklocalfirewallsettingsonWindowsormacOStoensurethedatabaseportisnotblocked.2)VerifyNavicat'sconfigurationmatchestheserverdetails.3)ConsiderusingSSHtunnelingtobypassrestrictivefi

Navicat: What if the server is too slow?Navicat: What if the server is too slow?May 13, 2025 pm 04:49 PM

WhenusingNavicatwithaslowserver,theissuemaystemfromnetworkconditions,serverconfiguration,ordatabaseperformance.Toaddressthis:1)Optimizeyournetworkpath,possiblyusingaVPNclosertoyourserver.2)AdjustserversettingslikebufferpoolsizeinMySQLorshared_buffers

Better Than Navicat? Comparing Database Management SoftwareBetter Than Navicat? Comparing Database Management SoftwareMay 11, 2025 am 12:20 AM

Better database management tools than Navicat are DBeaver, DataGrip and HeidiSQL. 1.DBeaver is open source and customizable, suitable for users who like open source software. 2.DataGrip is powerful, suitable for developers and has excellent user experience. 3.HeidiSQL is free and lightweight, suitable for small projects and personal use.

The Best Navicat Alternatives: Top Competitors and Their FeaturesThe Best Navicat Alternatives: Top Competitors and Their FeaturesMay 09, 2025 am 12:18 AM

Alternatives to Navicat include DBeaver, DataGrip and HeidiSQL. 1.DBeaver is an open source tool suitable for users who need custom functions. 2.DataGrip is developed by JetBrains and is suitable for users who need a professional SQL development environment. 3.HeidiSQL is a lightweight tool suitable for small projects and individual users.

Navicat: Examining the Pricing Structure and ModelsNavicat: Examining the Pricing Structure and ModelsMay 08, 2025 am 12:19 AM

Navicat's pricing model includes three versions: NavicatPremium, Navicatfor [Specific Database] and NavicatEssentials. 1.NavicatPremium supports all databases, perpetual license $1299, annual subscription $299, monthly subscription $29.2.Navicatfor\[Special Database\] for a single database, perpetual license $799, annual subscription $19, monthly subscription $19.3.NavicatEssentials Feature Basics, perpetual license $299, annual subscription $99, monthly subscription $9.

Navicat's Value: Improving Database WorkflowNavicat's Value: Improving Database WorkflowMay 07, 2025 am 12:01 AM

Navicat improves database workflow through core functions such as data modeling, SQL development, data transmission and synchronization. 1) Data modeling tools allow the design of database structures by dragging and dropping. 2) SQL development tools provide syntax highlighting and automatic completion to improve the SQL writing experience. 3) The data transmission function automatically handles data type conversion and consistency checks to ensure smooth data migration. 4) The data synchronization function ensures data consistency in development and production environments.

Navicat: Simplifying Complex Database TasksNavicat: Simplifying Complex Database TasksMay 06, 2025 am 12:13 AM

Navicat supports a variety of database systems, such as MySQL, PostgreSQL, etc., and provides functions such as data model design, SQL query, etc. With Navicat, you can: 1. Connect to the database and execute queries; 2. Perform data synchronization and backup; 3. Reduce errors through syntax highlighting and automatic completion; 4. Use batch operations and index optimization to improve performance.

Navicat and MySQL: A Perfect PartnershipNavicat and MySQL: A Perfect PartnershipMay 05, 2025 am 12:09 AM

Navicat and MySQL are perfect matches because they can improve database management and development efficiency. 1.Navicat simplifies MySQL operations and improves work efficiency through graphical interfaces and automatic generation of SQL statements. 2.Navicat supports multiple connection methods, which facilitates local and remote management. 3. It provides powerful data migration and synchronization capabilities, suitable for advanced usage. 4.Navicat helps with performance optimization and best practices such as regular backup and query optimization.

See all articles

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools