淺析Navicat中怎么查看已連接保存的密碼

怎么查看Navicat已連接保存的數據庫密碼?下面本篇文章給大家介紹一下查看navicat已保存密碼的方法,希望對大家有所幫助!

淺析Navicat中怎么查看已連接保存的密碼

在使用navicat 是都是習慣性的保存了密碼,久而久之后 就會忘記數據庫密碼, 這就很不舒服了,

但是,這有個技巧,可以查看navicat 已連接保存的密碼

首先去 導出連接

導出連接獲取到 connections.ncx 文件

淺析Navicat中怎么查看已連接保存的密碼

這里記著?導出密碼!!!?不然導出的文件里不包含加密的密碼

淺析Navicat中怎么查看已連接保存的密碼

然后找到 文件里 password 字段的值

把他復制出來

淺析Navicat中怎么查看已連接保存的密碼

開始破譯密碼

多虧一位github上的大佬寫了個程序;可以直接破解這個加密密碼

程序是php的;如果本地沒裝php也沒關系 , 直接找個在線運行的工具?https://tool.lu/coderunner/

把代碼粘上去就行了

然后把剛復制的 加密密碼?替換倒數第二行?里的值 , 然后運行就行了

$decode?=?$navicatPassword->decrypt('999239DEBFA1960BCCB12566F1F417A6');

淺析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?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?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?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?FatSmallToolsNavicatPassword; ? //需要指定版本,11或12 $navicatPassword?=?new?NavicatPassword(12); //$navicatPassword?=?new?NavicatPassword(11); ? //解密 //$decode?=?$navicatPassword->decrypt('15057D7BA390'); $decode?=?$navicatPassword->decrypt('999239DEBFA1960BCCB12566F1F417A6'); echo?$decode."n";

相關推薦:Navicat

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享