Navicat中如何查看已连接保存的密码

71次阅读
没有评论

共计 3747 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要为大家展示了“Navicat 中如何查看已连接保存的密码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“Navicat 中如何查看已连接保存的密码”这篇文章吧。

怎么查看 Navicat 已连接保存的数据库密码?下面本篇文章给大家介绍一下查看 navicat 已保存密码的方法,希望对大家有所帮助!

在使用 Navicat 是都是习惯性的保存了密码,久而久之后 就会忘记数据库密码,这就很不舒服了,

但是,这有个技巧,可以查看 navicat 已连接保存的密码

首先去 导出连接

导出连接获取到 connections.ncx 文件

这里记着 导出密码!!!不然导出的文件里不包含加密的密码

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

把他复制出来

开始破译密码

多亏一位 Github 上的大佬写了个程序;可以直接破解这个加密密码

程序是 php 的;如果本地没装 php 也没关系 , 直接找个在线运行的工具 https://tool.lu/coderunner/

把代码粘上去就行了

然后把刚复制的 加密密码 替换倒数第二行 里的值 , 然后运行就行了

$decode = $navicatPassword- decrypt(999239DEBFA1960BCCB12566F1F417A6

 ?php
 
namespace 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( 15057D7BA390 
$decode = $navicatPassword- decrypt(999239DEBFA1960BCCB12566F1F417A6
echo $decode. \n 

以上是“Navicat 中如何查看已连接保存的密码”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计3747字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)