Navicat密码导出解密导入到DataGrip中

news/2024/12/28 14:24:09/文章来源:https://www.cnblogs.com/SimonHu1993/p/18637480

使用Navicat导出密码:目前使用Navicat17亲测有效

使用php解密代码

<?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);
//这里我指定的12的版本,原先指定的11,执行之后的密码是乱码
$navicatPassword = new NavicatPassword(12);//解密
//$decode = $navicatPassword->decrypt('5658213B');
$decode = $navicatPassword->decrypt('CB0F3C3CC10B9B986D5FC2A9D26F99CEDB8DE05531BA85E1C860BA6C49CA6A30');
echo $decode."\n";
?>

然后再php环境中运行:https://www.w3cschool.cn/tryrun/runcode?lang=php

修改最后红线中的密码,替换为导出的密码:查看结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860385.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

随着HarmonyOS NEXT的正式推出,鸿蒙原生应用开发热度高涨,数量激增。但在三方应用鸿蒙化进程中,性能问题频出。为此,HarmonyOS NEXT推出了一整套原生页面高性能解决方案,包括Nodepool、HMrouter和DataCache 三大解决方案,并上架OpenHarmony开源社区,分别针对应用页面滑动…

数值计算方法(2) 数值积分方法

+++ date = 2024-12-21T13:49:00+08:00 draft = true title = 数值计算方法(2) 数值积分方法 +++ 初次发布于我的个人文档 上一期讲了插值方法,这一次自然是要运用一下插值方法了。所以这一期的主题是用插值方法计算定积分。 机械求积方法 下面我们来介绍一下怎么用插值法来得…

AI烟雾监测识别摄像机

AI烟雾监测识别摄像机的应用范围广泛,不仅可以安装在家庭、商业建筑、工厂等场所,还可以应用于地铁、火车站等公共场所,为人们的生命财产安全提供全方位的保障。总的来说,AI烟雾监测识别摄像机作为智能化安全防范的重要工具,具有广阔的应用前景和社会意义。通过提高火灾预…

Omnissa Horizon Clients 2412 发布 - 虚拟桌面基础架构 (VDI) 和应用软件

Omnissa Horizon Clients 2412 发布 - 虚拟桌面基础架构 (VDI) 和应用软件Omnissa Horizon Clients 2412 发布 - 虚拟桌面基础架构 (VDI) 和应用软件 Omnissa Horizon,之前称为 VMware Horizon, 通过高效、安全的虚拟桌面交付增强您的工作空间 请访问原文链接:https://sysin.…

题目集7-8总结:智能家居强电电路模拟系统

一、前言 1.1 题目背景 题目集7和8以智能家居为主题,通过强电电路的模拟设计,引导我们从基本开关电路到多功能调速器和受控设备模拟的深入探索,体现了物联网技术在智能家居中的实际应用。 1.2 题目特点 知识点:涵盖开关逻辑、电路模拟、受控设备特性、并联与串联电路等核…

业务凭证与总账凭证有何异同

在企业财务管理中,"业务凭证"和"总账凭证"是两个核心概念,它们在会计核算和ERP系统中扮演着至关重要的角色。本文将深入探讨这两个概念的异同点,帮助读者更好地理解它们在记录企业经济活动、会计分录以及财务报表编制中的作用和区别。在ERP财务系统里,…

Qt - 实现HTTP服务器和HTTP客户端

1. WebSocket服务器和HTTP服务器的区别 WebSocket服务器和HTTP服务器是两种不同的服务器类型,它们在协议、连接方式和通信模式等方面有所区别。协议:HTTP服务器使用HTTP协议进行通信,而WebSocket服务器使用WebSocket协议。HTTP协议是无状态的,客户端发起请求,服务器响应请…

“代码之舟”——2024秋软工实践纪

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标 回顾这一学期所完成的软工任务,总结这一学期的收获学号 102202102 王子聪引言: 在上这门课之前还没有真正的体…

Python-DdddOcr的简单使用

前言:我们在做WEB端UI自动化时,会遇到图片验证码校验的登录方式。我在之前的文章也做过介绍:https://www.cnblogs.com/TSmagic/p/16082799.html (Pillow + pytesseract + tesseract-ocr 破解简单的图形验证码)https://www.cnblogs.com/TSmagic/p/16117861.html(Python + 超…

Omnissa ThinApp 2412 - 应用虚拟化软件

Omnissa ThinApp 2412 - 应用虚拟化软件Omnissa ThinApp 2412 - 应用虚拟化软件 Omnissa ThinApp, formerly VMware ThinApp 请访问原文链接:https://sysin.org/blog/omnissa-thinapp/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgOmnissa ThinApp 通过将应用…

Omnissa App Volumes 4, version 2412 - 实时应用程序交付系统

Omnissa App Volumes 4, version 2412 - 实时应用程序交付系统Omnissa App Volumes 4, version 2412 - 实时应用程序交付系统 Omnissa App Volumes, formerly VMware App Volumes 请访问原文链接:https://sysin.org/blog/omnissa-app-volumes/ 查看最新版。原创作品,转载请保…

CSP-J2/S2 2024 游记

前情提要:CSP-J/S 2023 写这篇文章的时候,心情比较复杂。 哎,结局还算圆满。初赛 之前那个写的不好再写一遍() 两个都在 WFLS,也就是本校考 qaq。 J 在大礼堂考,没啥好说的,太简单了(除了格雷码,好难没学过 /ll) 乐,考试结束前 3min 还在改卷子() 省流:98。 S 在…