经常使用Navicat Premium连接数据库,有时候会忘记密码,通过下边两个步骤可以实现获取密码:

一.导出连接

1:选择想要获取密码的数据库

二:拿到保存到本地的connections.ncx文件中的Password

三解密password

<?php
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);}
};//需要指定版本两种,11或12
//$navicatPassword = new NavicatPassword(11);
$navicatPassword = new NavicatPassword(11);//解密
//$decode = $navicatPassword->decrypt('15057D7BA390');
$decode = $navicatPassword->decrypt('E75BF077AB8BAA3AC2D5');
echo $decode."\n";
?>

用文件中的password,替换上面代码中的$decode = $navicatPassword->decrypt('E75BF077AB8BAA3AC2D5');
运行之后,就会得到真实密码

Navicat Premium 查看密码方案相关推荐

  1. Navicat premium查看数据库表中文注释的两种方式

    有时候我需要查看数据库表中文注释,来确定每个表存的是哪个模块的数据,确保测试时对数据库查询操作无误. 这个操作我忘记了,此处做一个记录 方式一:通过sql语句来,前提是你知道是哪个表,这种方式不容易改 ...

  2. 【navicat 密码查看】小技巧navicat 如何查看密码

    时间久了,当我们以前连上了navicat 之后,密码忘记了,但是依然能连接,此时我们想查看密码,应该如何操作呢? 步骤1:点击navicat 文件选项,导出连接,勾选需要导出的数据库,导出的时候一定要 ...

  3. Navicat Premium 查看某几个表的ER图(模型图)

    之前一直使用EXCEL表或者其他模型工具去查看几个表的关联关系.最近接触的关系数据库类型比较多,所以用上了 Navicat Premium.这个工具真的很强大,可以连接大多数关系数据库.再也不用来回切 ...

  4. 破解Navicat Premium数据库账号密码

    破解Navicat Premium数据库账号密码 如果你想破解一个已经连接好的数据库密码,可以参考这个方法. 邮件查看已经连接好的数据库属性是这样的 但是密码是******谁也看不懂,博主也从网站上下 ...

  5. mysql 查看用户权限_在Navicat Premium中管理MySQL用户 - 第4部分:权限管理器工具

    更多资源请查看:[Navicat使用教程2019.1] | [Navicat Data Modeler使用教程] 第4部分:Privilege Manager(权限管理器)工具 在本系列教程中,我们一 ...

  6. Navicat 查看密码 破解保存的密码 + 密码解密

    (baidu搜索的文章写的都不全,于是自己总结好写一个) 如果想要破解一个已经连接好的数据库密码,可以参考这个方法. 一.查看navicat保存的密码 1. 进入注册表 win + R 输入 rege ...

  7. Navicat Premium 16修改MYSQL的密码

    前言:有没有同学像我一样,在学校学习mySql的时候把密码改成了自定义,出来工作选择了前端岗位等到使用mySql的时候才发现mySql的连接密码搞忘记了!其实解决这个问题很简单,我们修改一下连接密码只 ...

  8. 安卓学习专栏——查看安卓数据库,用navicat premium与sqlitestudio可视化查看数据库(图文保姆级)

    步骤 系列文章 前言 1.找到数据库文件 1.1打开Device File Explerer 文件查找工具 1.2找到数据库资源路径 1.3保存在文件夹 2.navicat premium可视化 2. ...

  9. navicat premium 12+ Mac 3分钟 破解方案

    Git地址  https://github.com/DoubleLabyrinth/navicat-keygen.git 按照红色部分执行即可 这份repo将会告诉你Navicat是怎么完成离线激活的 ...

最新文章

  1. 我在兰亭这三年之AutoDiff自动化测试框架
  2. python经典练习题
  3. OpenGL:显示一些立体图形示例程序(真不错)
  4. group_concat函数使用
  5. 算法高级(14)-Nginx的负载均衡策略
  6. 报错,> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL
  7. 2021新书—《Python机器学习算法与实战》
  8. sd卡升级 c语言程序,奔驰C级导航SD卡怎么升级
  9. Flash:动画实例--球体弹跳
  10. XCode8编译失败问题
  11. 决策树——员工离职预测模型搭建
  12. 2008 IT图书大盘点
  13. 短信验证码接收不到原因分析和解决方案分析
  14. java菜鸟快速上手指南
  15. Frontiers in Neuroscience:弥散张量成像(DTI)研究指南
  16. 公众号题库系统接口-网课答案解析接口
  17. CryptoJS v3.1.2 源码自取
  18. Wincc经典版下载
  19. 十二、构建一个基本的组合导航系统
  20. 【学习总结】数学-欧几里德定理

热门文章

  1. android 贴身检测,安卓5.0贴身检测怎么设置_安卓贴身检测智能解锁设置方法_飞翔教程...
  2. Linux系统编程、网络编程-文件I/O
  3. keras与h5py版本不兼容
  4. 【解决】“XXX...XXX“不可访问,因为它具有一定的保护级别
  5. uniapp扫一扫功能实现
  6. 55家!6G概念、智能交通、智慧政务细分领域龙头全名单!(附市值)
  7. mac顶部右边的区域叫什么
  8. 圆圆的球像什么_圆圆的月亮像什么的比喻句
  9. 怎样设置win7也支持“休眠
  10. 直播风口,是什么在支撑教育、电商、泛娱乐等场景?