01-查看Navicat加密的数据库密码
目录
查看Navicat加密的数据库密码
1、打开运行窗口,输入regedit,点击确认按钮,打开注册表编辑器
2、在注册表中找到Navicat加密后的密码
3、打开PHP在线运行工具,粘贴解密代码
4. 修改倒数第三行NavicatPassword的版本值
5、更改倒数第二行decrypt()方法中的字符串为Navicat加密后的密码
6、点击执行,右侧得到解密后的密码
查看Navicat加密的数据库密码
背景:本机装的MySQL数据库密码忘记了,打开了Navicat连接过数据库,不过密码是加密的,既然能加密那就能解密,哈哈哈哈。
解密后发现密码居然是password,好尴尬
1、打开运行窗口,输入regedit,点击确认按钮,打开注册表编辑器
2、在注册表中找到Navicat加密后的密码
- 展开【HKEY_CURRENT_USER】
- 展开【Software】
- 展开【PremiumSoft】
- 展开【NavicatPG】
- 展开【Servers】
- 选择 【MySQL】
- 右侧找到 pwd,双击并复制数值数据
3、打开PHP在线运行工具,粘贴解密代码
- 工具地址:https://tool.lu/coderunner
- 复制解密代码到工具中
<?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(12);//解密
//$decode = $navicatPassword->decrypt('15057D7BA390');
$decode = $navicatPassword->decrypt('E75BF077AB8BAA3AC2D5'); // 替换成上一步的数据数值
echo $decode."\n";
?>
4. 修改倒数第三行NavicatPassword的版本值
5、更改倒数第二行decrypt()方法中的字符串为Navicat加密后的密码
6、点击执行,右侧得到解密后的密码
01-查看Navicat加密的数据库密码相关推荐
- 配置加密_数据库密码配置项都不加密?心也太大了!
先看一份典型的配置文件 ... 省略 ... ## 配置MySQL数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driversprin ...
- mysql数据库druid密码加密_Druid数据库密码加密
背景 数据库密码直接写在配置中,对安全来说,是一个很大的挑战.Druid为此提供一种数据库密码加密的手段ConfigFilter. druid版本为1.1.18. 加密 1.项目中引入依赖 com.a ...
- SpringBoot使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密
1.在本地Maven仓库中打开Powershell 2.输入命令,然后点击回车 3.将生成公钥和加密的数据库密码配置到SpringBoot项目中的yml配置文件中 参考链接
- navicat数据库密码忘记如何解决
navicat数据库密码忘记如何解决 1.打开注册表 win+r 输入 regedit 2.查看加密的密码3. 访问 https://www.iatodo.com/navicatpw 进行解密
- 数据库密码配置项都不加密?心也太大了!
先看一份典型的配置文件 ... 省略 ...## 配置MySQL数据库连接 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spri ...
- druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码
在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如 ...
- SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt
使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...
- Spring配置数据库密码加密
在项目中,为了提高安全性,需要对配置文件中的部分敏感信息进行加密,如数据库登录密码等.以下是一个简单的数据库密码加密示例,供大家一起学习交流,有不对或者需要改进的地方,请大家多多指教! 一. 未加密情 ...
- MYSQL数据库密码的加密方式及破解方法
转自http://hi.baidu.com/davice_li/blog/item/5f5b470be3307e32b0351db5.html MySQL数据库用户密码跟其它数据库用户密码一样,在应用 ...
最新文章
- redhat配置dns服务器bind
- QT入门注意事项(1)
- 程序员编程艺术第一~十章集锦与总结(教你如何编程)--持续更新中
- requests下载大文件_11种方法教你用Python高效下载资源!
- Feature Flag 功能发布控制
- vc mysql 图片_VC连接MySQL
- 响应式开发中合理选定CSS媒体查询分割点
- vscode安装live server
- 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<监听器篇>
- 导入已有项目到svn
- Nitro PDF 数据遭大规模泄露,波及微软、谷歌、苹果等
- Python大佬分析了15万歌词,告诉你民谣歌手们到底在唱什么
- mysql重复你数据标识_MySQL 处理重复数据
- web开发实战--弹出式富文本编辑器的实现思路和踩过的坑
- 雅虎前端性能优化的35条军规
- Android 测试技能树
- 电子计算机x射线断层扫描,CT——电子计算机X射线断层扫描技术.pdf
- html5 canvas实现高并发视频弹幕功能
- Linux服务器/VPS 基本测试 包括硬盘速度/网络速度
- restapi是什么意思_什么是REST API?请解释的通俗一点,它和一般的API有什么区别