如何查看navicat已连接用户的密码
1:从注册表中查看加密后的密码。
1.1:windows键+r,输入 regedit
1.2:在注册表中找到 \HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\navicat\servers 并找到 UserName 即 账号
1.3:从上面步骤中,打开注册表、并找到如下图片中的密码栏:Pwd(加密的密码)
2:解密密码,打开在线工具运行一下代码,并修改倒数第二行代码,将上面的密码写入decrypt(’’);中,点击运行。即可
2.1:在线编码网址,https://tool.lu/coderunner/
2.2:解密代码:
1 <?php
2 class NavicatPassword
3 {
4 protected $version = 0;
5 protected $aesKey = 'libcckeylibcckey';
6 protected $aesIv = 'libcciv libcciv ';
7 protected $blowString = '3DC5CA39';
8 protected $blowKey = null;
9 protected $blowIv = null;
10
11 public function __construct($version = 12)
12 {
13 $this->version = $version;
14 $this->blowKey = sha1('3DC5CA39', true);
15 $this->blowIv = hex2bin('d9c7c3c8870d64bd');
16 }
17
18 public function encrypt($string)
19 {
20 $result = FALSE;
21 switch ($this->version) {
22 case 11:
23 $result = $this->encryptEleven($string);
24 break;
25 case 12:
26 $result = $this->encryptTwelve($string);
27 break;
28 default:
29 break;
30 }
31
32 return $result;
33 }
34
35 protected function encryptEleven($string)
36 {
37 $round = intval(floor(strlen($string) / 8));
38 $leftLength = strlen($string) % 8;
39 $result = '';
40 $currentVector = $this->blowIv;
41
42 for ($i = 0; $i < $round; $i++) {
43 $temp = $this->encryptBlock($this->xorBytes(substr($string, 8 * $i, 8), $currentVector));
44 $currentVector = $this->xorBytes($currentVector, $temp);
45 $result .= $temp;
46 }
47
48 if ($leftLength) {
49 $currentVector = $this->encryptBlock($currentVector);
50 $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
51 }
52
53 return strtoupper(bin2hex($result));
54 }
55
56 protected function encryptBlock($block)
57 {
58 return openssl_encrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING);
59 }
60
61 protected function decryptBlock($block)
62 {
63 return openssl_decrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING);
64 }
65
66 protected function xorBytes($str1, $str2)
67 {
68 $result = '';
69 for ($i = 0; $i < strlen($str1); $i++) {
70 $result .= chr(ord($str1[$i]) ^ ord($str2[$i]));
71 }
72
73 return $result;
74 }
75
76 protected function encryptTwelve($string)
77 {
78 $result = openssl_encrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
79 return strtoupper(bin2hex($result));
80 }
81
82 public function decrypt($string)
83 {
84 $result = FALSE;
85 switch ($this->version) {
86 case 11:
87 $result = $this->decryptEleven($string);
88 break;
89 case 12:
90 $result = $this->decryptTwelve($string);
91 break;
92 default:
93 break;
94 }
95
96 return $result;
97 }
98
99 protected function decryptEleven($upperString)
100 {
101 $string = hex2bin(strtolower($upperString));
102
103 $round = intval(floor(strlen($string) / 8));
104 $leftLength = strlen($string) % 8;
105 $result = '';
106 $currentVector = $this->blowIv;
107
108 for ($i = 0; $i < $round; $i++) {
109 $encryptedBlock = substr($string, 8 * $i, 8);
110 $temp = $this->xorBytes($this->decryptBlock($encryptedBlock), $currentVector);
111 $currentVector = $this->xorBytes($currentVector, $encryptedBlock);
112 $result .= $temp;
113 }
114
115 if ($leftLength) {
116 $currentVector = $this->encryptBlock($currentVector);
117 $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
118 }
119
120 return $result;
121 }
122
123 protected function decryptTwelve($upperString)
124 {
125 $string = hex2bin(strtolower($upperString));
126 return openssl_decrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
127 }
128 };
129
130
131 //需要指定版本两种,11或12
132 //$navicatPassword = new NavicatPassword(12);
133 $navicatPassword = new NavicatPassword(11);
134
135 //解密
136 $decode = $navicatPassword->decrypt('5658213B');
137 echo $decode."\n";
138 ?>
如何查看navicat已连接用户的密码的更多相关文章
- 如何查看电脑已连接的WiFi密码
控制面板->网络和Internet->网络和共享中心 点击已连接的WLAN网络,查看“WLAN状态”->无线属性->安全 在显示字符下可以看到已连接wifi的密码
- Windows8.1查看已连接无线WIFI密码
Windows8.1操作系统下查看已连接无线wifi密码操作步骤如下: 1.右键任务栏中的无线图标,在弹出的菜单中选择"打开网络和共享中心": 2.在网络和共享中心界面中点击&qu ...
- 电脑已连接wifi的密码查询
有时候,想登陆自己家的无线网络(尤其朋友来家里突然要连接无线网络),脑子刹那间一片空白想不起来密码,怎么办呢? 其实,我们可以通过电脑来查看网络的密码,现在分享如何在笔记本电脑上查看连接过的无线网络密 ...
- (转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQLalter user XXX account lock; ...
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- ORA-01940无法删除当前已连接用户
原文地址:ORA-01940无法删除当前已连接用户作者:1736188794 1)查看用户的连接状况 select username,sid,serial# from v$session ------ ...
- Win10电脑查看已连接过WiFi密码的命令
运行中输入CMD,回车,打开命令行窗口. 输入:netsh wlan show profiles 执行后,会列出搜友已连接过的WiFi名字: 输入:netsh wlan show profile ...
- 两行命令查看自己笔记本连接的wifi密码
打开cmd.exe窗口 第一行命令 netsh wlan show profiles 可以查看所有曾经连接过的wifi 第二命令 netsh wlan show profiles "vivo ...
- cmd命令查看已连接的WiFi密码
实验环境:Windows 10.命令提示符(管理员权限) 一.CMD命令查看WiFi密码 使用方法: ①.运行CMD(命令提示符) (确保无线网卡启用状态)②.输入命令查看WiFi配置文件: # ...
- mac如何查看已连接wifi的密码
可以通道mac自带的“钥匙串访问”功能查看.选择需要查询的wifi名称,右击选择“将密码拷贝到剪贴板”,输入管理员密码后,密码就拷贝好了. 找个地方粘贴即可看到密码
随机推荐
- JavaScript之异步编程
什么是异步 异步:Asynchronous,async是与同步synchronous,sync相对的概念. 传统单线程编程中,程序的运行是同步的,指程序运行在一个控制流之中运行.而异步的概念就是不保证 ...
- day11_多态&抽象类&接口
1.多态 1.1 多态的概述(记忆) 什么是多态 同一对象,在不同时刻表现出来的不同形态. 多态的前提 有继承/实现关系 有方法重写 有父类对象的引用执行子类对象 1.2 多态中的成员访问特点 ...
- 你有了解过无服务器架构(Serverless)数据库吗?
你有了解过无服务器架构(Serverless)数据库吗? 什么是Serverless呢?简单理解,Serverless 分为 FaaS 和 BaaS 两个部分,其中 FaaS 指的是函数即服务,Ba ...
- .NET CORE 控制台程序在CentOS 7 后台运行指令
1.后台运行服务 >/dev/null & 不输出任何信息 & 记录控制台所有信息 记录错误信息 :/dev/null 2>log & 指令:nohup XXX.d ...
- MyCat2 读写分离
已经搭配好的主从数据库分别为:主:192.168.200.51:3306 从:mysql://192.168.200.53:3306 一. 登录数据客户端,创建逻辑库,配置数据源 create dat ...
- grafana二次开发环境配置(windows10)
安装说明: 由于在windows环境安装grafana,第一次安装的是8.2.2版本,后端编译时一直报错,故安装了8.1.7 该错误在 grafana 的源码问题中可以找到,但针对 windows 暂 ...
- 迁移virtualenv虚拟环境,复制,免安装
前提:在原来的服务器中使用相同的python版本,并使用virtualenv创建了自己的虚拟环境. 1.首先在新的机器上安装virtualenv(要有和原机器相同版本的python解释器,第5步也很相 ...
- mysql数据库查看版本号
1.在命令行登录mysql,即可看到mysql的版本号 [root@mysql02 bin]# ./mysql -uroot -pEnter password: Welcome to the MySQ ...
- 四、流程控制、break、continue、return
一. 程序流程控制概述 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 流程控制方式采用结构化程序设计中规定的只有三种基本流程结构,即:1.顺序结构程序 ...
- GPT和MBR分区格式
目前市面上磁盘有两个格式,一种是GPT(Master Boot Record)分区一种是MBR(Master Boot Record)分区. 像UEFI用于取代老旧的BIOS,而GPT则为的是取代老旧 ...