怎么查看Navicat已連接保存的數據庫密碼?下面本篇文章給大家介紹一下查看navicat已保存密碼的方法,希望對大家有所幫助!
在使用navicat 是都是習慣性的保存了密碼,久而久之后 就會忘記數據庫密碼, 這就很不舒服了,
但是,這有個技巧,可以查看navicat 已連接保存的密碼
首先去 導出連接
導出連接獲取到 connections.ncx 文件
這里記著?導出密碼!!!?不然導出的文件里不包含加密的密碼
然后找到 文件里 password 字段的值
把他復制出來
開始破譯密碼
多虧一位github上的大佬寫了個程序;可以直接破解這個加密密碼
程序是php的;如果本地沒裝php也沒關系 , 直接找個在線運行的工具?https://tool.lu/coderunner/
把代碼粘上去就行了
然后把剛復制的 加密密碼?替換倒數第二行?里的值 , 然后運行就行了
$decode?=?$navicatPassword->decrypt('999239DEBFA1960BCCB12566F1F417A6');
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