怎么查看navicat的数据库密码

步骤1:打开navicat连接数据库工具,顶部的文件栏-导出结果-勾选导出密码-导出

步骤2:导出结果使用NotePad++或文本打开,找到,数据库对应的的Password="995E66F64A15F6776""的值复制下来

<Connection ConnectionName="no" ProjectUUID="" ConnType="MYSQL" OraConnType="" ServiceProvider="Default" Host="1" Port="3306" Database="" OraServiceNameType="" TNS=""

MSSQLAuthenMode="" MSSQLAuthenWindowsDomain="" DatabaseFileName="" UserName="web_test" Password="995E66F64A15F6776

步骤3:打开在线工具,复制下面代码粘贴,修改代码倒数第二行代码:$decode = $navicatPassword->decrypt('995E66F64A15F6776886C4C7A0C0BF16');

步骤4:点击代码在线运行工具,运行

在线查看工具:代码在线运行 - 在线工具

一下为php 代码,复制运行,修改代码倒数第二行代码,

<?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('995E66F64A15F6776886C4C7A0C0BF16');

echo $decode."\n";

博主:navicat 如何查看已经连接了的数据库账号和密码_12992884的技术博客_51CTO博客

相关推荐
煎饼小狗8 分钟前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
永乐春秋25 分钟前
WEB-通用漏洞&SQL注入&CTF&二次&堆叠&DNS带外
数据库·sql
打鱼又晒网1 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
大白要努力!1 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix2 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。2 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了2 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度2 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮2 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9993 小时前
Etcd 框架
数据库·etcd