如果想要破解一个已经连接好的数据库密码,可以参考这个方法。

一、查看navicat保存的密码

1. 进入注册表

  • win + R
  • 输入 regedit 回车

2.找到 navicat 中存储的密码

  • HKEY_CURRENT_USER
  • Software
  • PremiumSoft
  • Navicat
  • Servers
  • 点击要破解密码的数据库,右边会出现 Pwd,值就是加密后的密码

数据库密码,是被加密了的。

到这里 , 已被加密过的密码已经找到。下一步进行解密。

二、解密密码

1. GitHub上一个大神写了个PHP,可以直接破解这个密码,一切成功的开始。https://github.com/tianhe1986/FatSmallTools

2. 秀儿来了!!本地没有安装PHP,直接找个在线运行的工具  https://tool.lu/coderunner/

3. 粘贴代码,修改参数,一切顺利

<?phpnamespace 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('15057D7BA390');
$decode = $navicatPassword->decrypt('73EFB530B74DCCE359F34539742ECD9E8D1FE826F5C263CE');
echo $decode."\n";

破解一个已经连接好的数据库密码相关推荐

  1. 阿里巴巴云连接池durid数据库密码加密

    阿里巴巴连接池durid数据库密码加密      刘振兴     代码分享     2017年05月05日    374    暂无评论   先贴上本人durid 的配置 <!-- 阿里巴巴连接 ...

  2. Druid之——连接池自定义数据库密码加解密的实现

    转载请注明出处:https://blog.csdn.net/l1028386804/article/details/79920338 Druid是阿里巴巴开发的一款数据库连接池,它支持对数据库密码的加 ...

  3. Druid连接池自定义数据库密码加解密的实现

    Druid的功能 1.替换DBCP和C3P0.Druid提供了一个高效.功能强大.可扩展性好的数据库连接池. 2.可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能 ...

  4. 如何找回存储在DBeaver连接中的数据库密码

    在DBeaver连接中保存的数据库密码,如果忘记了怎么办呢?如果是6.1.3以上的版本可以通过如下方法找回: 1.找到workspace的位置,如下图红框位置: 2.找到密码文件的位置,参考地址: & ...

  5. druid连接池配置数据库密码加密

    druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件.远程服务器等三种地方,这里只讲第一种方法. 1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp dr ...

  6. 程序员 破解获取已连接过的WiFi密码

    1.第一步:输入cmd,点击确定 2.第二步:输入命令(查看WiFi名字)netsh wlan show profiles 注(用户配置文件就是附近的WiFi名字) 3.第三步:输入命令netsh w ...

  7. 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

    转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...

  8. vs连接mysql建一个表并增删查改_VS连接SQL Server数据库,增删改查详细教程(C#代码)...

    工具: 1.Visual Studio (我使用的是vs2013) 2.SQL Server  (我使用的是sql server2008) 操作: 1.打开SQL Server,打开后会看到数据库的初 ...

  9. sqlserver查看用户名密码_php 连接sql server数据库

    php 连接sql server数据库 折腾了一天,终于把该死的数据库连起了,现在我就将我遇到的问题与配置的一些过程记录一下,希望有所帮助. 1.环境 phpstudy VS Code php7.3. ...

最新文章

  1. 一文看懂神经网络初始化!
  2. Python 进阶_OOP 面向对象编程_类属性和方法
  3. matplotlib 添加偏移量
  4. php mysql多表关联删除_MySQL中多表删除方法
  5. python装饰器理解_Python装饰器理解(新手)
  6. 4. ex 命令(1)
  7. KingbaseES——人大金仓数据库安装教程
  8. 关于MyEclipse 10 破解程序打开的原因
  9. 【Books系列】席慕蓉《回眸》欣赏
  10. 【BZOJ4399】—膜法少女LJJ(线段树合并)
  11. 如何在Dockerfile中发表评论?
  12. 电脑开机输完密码就黑屏的解决历程
  13. php大商创 安装,新零售电商系统:大商创X安装教程【宝塔环境】
  14. 【远程桌面软件RustDesk】开源远程控制神器!RustDesk为开源虚拟与远程桌面基础架构,也支持网页版,TeamViewer 和向日葵的替代品
  15. AD网表转换ALLEGO步骤详解(可私信问题解决)
  16. 汽车悬架matlab时域和频域,车辆悬架系统振动控制(精)
  17. [CPU+目标检测] openvino实现Robomaster自瞄
  18. ibatis读写oracle的clob字段
  19. Leetcode 953:验证外星语词典
  20. 出现“未将对象引用设置到对象的实例” 错误2010-09-16 19:07解决办法

热门文章

  1. 微信小程序开发—引用公共js里的方法
  2. CUDA快速傅里叶变换 cuFFT
  3. java多态练习_Java多态练习
  4. 【校招VIP】前端操作系统之页面转换算法
  5. Java——博主的学习路线
  6. 无为才能够无不为-曾仕强
  7. 使用Quartus II9.0验证74161计数器
  8. 证券投资的运作与市场主体
  9. 言语如何成为交互设计的基础
  10. 关于抱怨解读,读书笔记