怎么查看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博客

相关推荐
不剪发的Tony老师几秒前
Apache Doris:一款高性能的实时数据仓库
数据库·数据仓库
甜可儿11 分钟前
redis序列化设置
数据库·redis
GGBondlctrl16 分钟前
【SpringBoot】论坛项目中如何进行实现发布文章,以及更新对应数据库的数据更新
数据库·springboot项目·三层设计思想·文章发布项目
若云止水30 分钟前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(4)
数据库·nginx·ubuntu
jay丿1 小时前
Django模板系统深入
数据库·django·sqlite
千层冷面1 小时前
Redis除了做缓存还能做什么?
数据库·redis·缓存
码有余悸3 小时前
Redis:高性能的键值存储系统
数据库·redis·缓存
剑客狼心7 小时前
Oracle:什么是存储过程
数据库·oracle
小王努力学编程7 小时前
【MySQL篇】表的操作
数据库·mysql
汤汤upup7 小时前
面试八股文--数据库基础知识总结(2) MySQL
数据库·mysql·面试