navicat~导出数据库密码

当我们mysql密码忘记了,而在navicat里有记录,我们应该如何导出这个密码呢?

  • 第一步:文件菜单,导出链接,导出连接获取到 connections.ncx 文件
    这里需要勾选 导出密码!!! 不然导出的文件里不包含加密的密码
    navicat~导出数据库密码
  • 第二步:找到加密密码并破解
    [En]

    step 2: find the encrypted password and crack it*

    在导出的connections.ncx文件中找到password,然后复制出来

  • 打开这个网址:https://tool.lu/coderunner,输入PHP代码
<?phpclass 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);    }};//&#x9700;&#x8981;&#x6307;&#x5B9A;&#x7248;&#x672C;&#x4E24;&#x79CD;&#xFF0C;11&#x6216;12//$navicatPassword = new NavicatPassword(11);//&#x8FD9;&#x91CC;&#x6211;&#x6307;&#x5B9A;&#x7684;12&#x7684;&#x7248;&#x672C;&#xFF0C;&#x539F;&#x5148;&#x6307;&#x5B9A;&#x7684;11&#xFF0C;&#x6267;&#x884C;&#x4E4B;&#x540E;&#x7684;&#x5BC6;&#x7801;&#x662F;&#x4E71;&#x7801;$navicatPassword = new NavicatPassword(12);//&#x89E3;&#x5BC6;$decode = $navicatPassword->decrypt('&#x590D;&#x5236;&#x51FA;&#x6765;&#x7684;&#x5BC6;&#x7801;');echo $decode."\n";?>
  • 将以下密码复制到其中
    [En]

    copy the following password into it*

    $decode = $navicatPassword->decrypt(‘复制出来的密码’);

    navicat~导出数据库密码

Original: https://www.cnblogs.com/lori/p/15686959.html
Author: 张占岭
Title: navicat~导出数据库密码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/507958/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Atlassian Confluence 6.15.5 添加甘特图

    Atlassian Confluence 6.15.5 添加甘特图 Atlassian Confluence 编辑模式 工具栏 “+”→其它宏→视觉&amp…

    数据库 2023年6月9日
    087
  • Rocksdb Compaction原理

    compaction主要包括两类:将内存中imutable 转储到磁盘上sst的过程称之为flush或者minor compaction;磁盘上的sst文件从低层向高层转储的过程称…

    数据库 2023年6月9日
    098
  • 并发模型与IO模型梳理

    并发模型 常见的并发模型一般包括3类,基于线程与锁的内存共享模型,actor模型和CSP模型,其中尤以线程与锁的共享内存模型最为常见。由于go语言的兴起,CSP模型也越来越受关注。…

    数据库 2023年6月9日
    094
  • 如何写出有效的单元测试

    测试不要名不副实避免测试的描述与测试内容不符;测试结果必须精准;测试该失败的时候一定要失败! 测试私有或者受保护的方法解决思路: 将方法变成公共方法; 将方法抽取到新类; 将方法变…

    数据库 2023年6月14日
    0101
  • 使用postman Mock后端响应

    使用postman Mock后端响应 接口文档开发与评审后,前后端各自依照标准进行开发,此时前端人员有以下选择: 使用工具自己mock构造后端数据验证已开发页面 在项目中自己编写添…

    数据库 2023年6月6日
    0103
  • Nginx进阶篇—web模块及proxy代理

    server { #&#x5728;server{&#x4E0B;&#x9762;&#x8F93;&#x5165; sub_filter n…

    数据库 2023年6月14日
    0107
  • k8s vs k3s: 差异解析

    2. K3s的优势 小型 K3s 的最大优势是它的尺寸最小(小于 100 MB),这有助于它以最少的设置在小型硬件中启动 Kubernetes 集群。 快速部署 curl -sfL…

    数据库 2023年6月14日
    0105
  • Spring Bean的作用域

    Spring Bean的作用域或者说范围主要有五种: 作用 描述 singleton 在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的…

    数据库 2023年6月16日
    062
  • 国行XBoxOne第一次开机配置主要问题备忘

    1,Kinect可以在设置中关闭。 2,彻底关闭主机,需要长按主机上的开关键,将主机彻底关机,同时开机只要轻触一下主机开关机键即可 3,不能更新问题:3.1检查网络已连接3.2检查…

    数据库 2023年6月14日
    0242
  • 解决ip和域名都能够ping通但是启动nginx无法访问网页的问题

    解决思路 最近双11逛西部数码的官网看看有没有什么服务器优惠的时候,发现了可以申请一个一块钱用一整年的SSL证书,立马心动下单了,想想俺也可以用 https装装X了哈哈 不过在部署…

    数据库 2023年6月11日
    0232
  • Tomcat总体架构(一)

    目录 一、Server 二、Connector 和 Container(实际为Engine) 三、Context 四、Host 五、Wrapper 六、Container(真正的C…

    数据库 2023年6月11日
    094
  • DASCTF 冰墩墩

    SimpleFlow 一下子就能发现传了一个含有flag.txt的压缩包,需要密码,字典简单跑一下就发现是 <span class=”ne-text”>PaSsZiPW…

    数据库 2023年6月11日
    075
  • 手把手教你使用 Java 在线生成 pdf 文档

    一、介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合…

    数据库 2023年6月14日
    0115
  • BeautifulSoup4的使用

    Beautiful Soup 主要是用来解析提取 HTML 和 XML 文件中的数据。 现在官网推荐使用 Beautiful Soup 4 ,已经被移植到了BS4中。 安装 Bea…

    数据库 2023年6月9日
    0100
  • servlet映射路径匹配解析

    开头 servlet是javaweb用来处理请求和响应的重要对象,本文将从源码的角度分析tomcat内部是如何根据请求路径匹配得到处理请求的servlet的 假设有一个reques…

    数据库 2023年6月16日
    0100
  • 【转】Windows安装运行Kafka

    一、安装JAVA JDK 1、下载安装包 注意:根据32/64位操作系统下载对应的安装包 2、添加系统变量:JAVA_HOME=C:\Program Files (x86)\Jav…

    数据库 2023年6月6日
    067
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球