如何查看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名称,右击选择“将密码拷贝到剪贴板”,输入管理员密码后,密码就拷贝好了. 找个地方粘贴即可看到密码
随机推荐
- CF1098D 题解
题意 传送门 对于一个元素个数大于 \(1\) 的可重集,每次取出两个数 \(x,y\) 合并.若 \(x\le y\le 2x\),则称其为危险合并.重复上述操作至无法合并. 给你一个初始为空的可重 ...
- VMware-查看虚拟机版本
[root@localhost /]# uname -a Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22: ...
- Day13 字符串的常用方法
API帮助文档的使用流程 在索引的位置搜索自己要查看的类 看包 目的:是不是 Java.lang包(核心包),不需要编写导包代码(import) -------不是 java.lang包,都需要编写导 ...
- .NetCore2.0引用DLL报System.InvalidOperationException: Can not find compilation library location for package 'XXX'
.NET CORE 2.0 MVC项目引用类库出现:System.InvalidOperationException: Can not find compilation library locatio ...
- 2022-05-10内部群每日三题-清辉PMP
1.项目经理管理的一个项目不断面临挑战.发起人经常无法做出决定,存在大量预算超支,团队成员不断从项目离职,高级管理层没有提供实际的支持.项目经理应该怎么做? A.与团队一起开会,以确定造成这些问题的原 ...
- 创建一个与a.txt文件同目录下的另一个文件b.txt
File file1 = new("d:\\a\\a.txt"); File file2 = new(file1.getParent(),"b.txt"): F ...
- java SE02
目录 五.面向对象 1. 封装 2. 多态 3. 继承 六.内部类 1. 局部内部类 2. 局部内部类 3. 静态内部类 4.匿名内部类 七.异常 1. 五个关键字 2. 自定义异常 五.面向对象 1 ...
- 去除Bam文件中的PCR 重复
1.使用samtools 去除重复 samtools sort -n -@ 20 file.bam |samtools fixmate -m -@20 - - |samtools sort -@ 20 ...
- uni消息推送
//APP.vuegetUser(){//获取客户端标识 消息推送 // #ifdef APP-PLUS var pinf = plus.push.getClientInfo(); var cid = ...
- linux批量操作(一)
一.常用命令 1.关闭所有java进程命令: ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9 2.批量文本操作 ...