


Analisis ringkas tentang cara melihat kata laluan yang disambungkan dan disimpan dalam Navicat
Mar 02, 2022 am 10:59 AMBagaimana untuk menyemak kata laluan pangkalan data yang disimpan oleh Navicat? Artikel berikut akan memperkenalkan kepada anda cara melihat kata laluan yang disimpan oleh navicat saya harap ia akan membantu anda!
Apabila menggunakan Navicat, saya lazimnya menyimpan kata laluan lama-kelamaan, saya akan terlupa kata laluan pangkalan data, yang sangat tidak selesa
Tetapi, inilah silap mata, anda boleh melihat kata laluan yang disimpan oleh sambungan navicat
Eksport sambungan dahulu
Eksport sambungan untuk mendapatkan fail connections.ncx
Ingat kata laluan eksport di sini! ! ! Jika tidak, fail yang dieksport tidak mengandungi kata laluan yang disulitkan
Kemudian cari nilai medan kata laluan dalam fail
Salin dia
Mulakan mentafsir kata laluan
Terima kasih kepada seorang lelaki besar Github untuk menulis Saya mempunyai program; anda boleh terus memecahkan kata laluan yang disulitkan
Program ini adalah PHP jika PHP tidak dipasang secara tempatan, tidak mengapa, cari sahaja alat yang berjalan dalam talian https://; tool.lu/coderunner/
Hanya tampal kod
Kemudian gantikan nilai dalam baris kedua hingga terakhir dengan kata laluan yang disulitkan yang baru anda salin, dan kemudian jalankannya
$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 < $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";
Cadangan berkaitan: tutorial navicat
Atas ialah kandungan terperinci Analisis ringkas tentang cara melihat kata laluan yang disambungkan dan disimpan dalam Navicat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk melaraskan saiz fon antara muka dalam navicat

Bagaimana untuk mengeksport gambarajah er navicat

Bagaimana untuk menyalin pangkalan data ke pangkalan data lain dalam navicat

Bagaimana untuk mengeksport struktur jadual ke perkataan menggunakan navicat

Bagaimana untuk memulihkan jadual yang dipadam secara tidak sengaja dalam navicat

Bagaimana untuk membuat asal langkah sebelumnya dalam navicat

Bolehkah Navicat tidak memasang pangkalan data?
