91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Navicat中如何查看已連接保存的密碼

發布時間:2022-03-02 11:03:56 來源:億速云 閱讀:2014 作者:小新 欄目:數據庫

這篇文章主要為大家展示了“Navicat中如何查看已連接保存的密碼”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Navicat中如何查看已連接保存的密碼”這篇文章吧。

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

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

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

首先去 導出連接

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

Navicat中如何查看已連接保存的密碼

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

Navicat中如何查看已連接保存的密碼

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

把他復制出來

Navicat中如何查看已連接保存的密碼

開始破譯密碼

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

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

把代碼粘上去就行了

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

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

Navicat中如何查看已連接保存的密碼

<?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中如何查看已連接保存的密碼”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南康市| 昌平区| 金平| 二连浩特市| 宁化县| 邛崃市| 云梦县| 清水河县| 博客| 齐河县| 绥中县| 雷州市| 根河市| 清镇市| 精河县| 环江| 阜新市| 绍兴市| 广东省| 郁南县| 祁东县| 昌乐县| 富宁县| 米林县| 珠海市| 中牟县| 普陀区| 伊宁市| 荆州市| 明光市| 离岛区| 郴州市| 定西市| 长汀县| 武清区| 咸宁市| 平安县| 金秀| 乌兰察布市| 北川| 万安县|