navicat如何查询已连接的数据库密码信息

发布于 2021-09-14 06:19

好久之前,我在电脑上装了一个linux系统,安装了数据库,今天想用这个数据库,之前我连接过,但是密码忘了,一般我都是设置比较简单的密码,结果还都不对。接下来教大家如何在navicat已连接的数据库中获取密码信息。

注意:本文讲的是连接过数据库信息,忘记密码的情况哦。

如图,我的ip地址是192.168.169.132:

密码是不能复制,且看不到。

如何找到密码
第一步打开注册表

windows键+r,输入 regedit

打开注册表,找到该路径,也可以直接粘贴到上面地址栏。

计算机\HKEY_CURRENT_USER\SOFTWARE\PremiumSoft

找到需要找密码的地方,比如我是要找132这个连接。

找到132,选中。

找到pwd,双击打开。

赋值该数值数据。

第二步进行解密

打开网址:https://tool.lu/coderunner/

把下面代码粘贴到代码区域

<?phpnamespace FatSmallTools;class NavicatPassword{    protected $version = 0;    protected $aesKey = 'libcckeylibcckey';    protected $aesIv = 'libcciv libcciv ';    protected $blowString = '3DC5CA39';    protected $blowKey = null;    protected $blowIv = null;    public function __construct($version = 12){        $this->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('');echo $decode."\n";

就可以得到密码了哦!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材