我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

时间久了,当我们以前连上了navicat 之后,密码忘记了,但是依然能连接,此时我们想查看密码,应该如何操作呢?

步骤1:点击navicat 文件选项,导出连接,勾选需要导出的数据库,导出的时候一定要勾选导出密码
在这里插入图片描述

导出之后,我们会得到一个connections.ncx文件中找到password,然后复制出来

在这里插入图片描述
复制出来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);//这里我指定的12的版本,原先指定的11,执行之后的密码是乱码$navicatPassword = new NavicatPassword(12); //解密//$decode = $navicatPassword->decrypt('15057D7BA390');$decode = $navicatPassword->decrypt('AE137B98AB3AD0F913EBEF2E8D3C52E9');echo $decode."\n";?>

点击执行,右边运行得到密码。
在这里插入图片描述

方法2:可以使用python 代码。

navicat 加密方式

# -*- coding: utf-8 -*-from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex# 如果text不足16位的倍数就用空格补足为16位def add_to_16(text):    if len(text.encode('utf-8')) % 16:        add = 16 - (len(text.encode('utf-8')) % 16)    else:        add = 0    text = text + ('\0' * add)    return text.encode('utf-8')# 加密函数def encrypt(text):    key = 'libcckeylibcckey'.encode('utf-8')    mode = AES.MODE_CBC    iv = b'libcciv libcciv '    text = add_to_16(text)    cryptos = AES.new(key, mode, iv)    cipher_text = cryptos.encrypt(text)    print(b2a_hex(cipher_text))    # 因为AES加密后的字符串不一定是ascii字符集的,输出保存可能存在问题,所以这里转为16进制字符串    return b2a_hex(cipher_text)# 解密后,去掉补足的空格用strip() 去掉def decrypt(text):    key = 'libcckeylibcckey'.encode('utf-8')    iv = b'libcciv libcciv '    mode = AES.MODE_CBC    cryptos = AES.new(key, mode, iv)    plain_text = cryptos.decrypt(a2b_hex(text))    return bytes.decode(plain_text).rstrip('\0').replace('','')if __name__ == '__main__':    # e=encrypt('root')    d = decrypt('AE137B98AB3AD0F913EBEF2E8D3C52E9')  # 解密    # print("加密:",e)    print("解密:", d)
解密: hzjy&flzx3qcProcess finished with exit code 0

来源地址:https://blog.csdn.net/u013421629/article/details/126518685

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

navicat如何查看数据库密码

通过 navicat 查看数据库密码的方法:1. 右键单击目标数据库,选择 "属性";2. 转到 "高级" 选项卡,单击 "查看密码";3. 输入关联的用户名和密码,恢复密码。注意:仅限有权限用户恢复,已加密的密码无法恢复。如何使用 Nav
navicat如何查看数据库密码
2024-04-23

怎么查看navicat的密码

如何在 navicat 中查看密码?查找加密密码文件 "nvtremotesite.ndf"。使用密码恢复工具 (如 elcomsoft navicat password recovery) 恢复密码。在 navicat 中启用 "显示密码
怎么查看navicat的密码
2024-04-23

如何查看Navicat加密的数据库密码

目录查看Navicat加密的数据库密码1、打开运行窗口,输入regedit,点击确认按钮,打开注册表编辑器2、在注册表中找到Navicat加密后的密码3、打开php在线运行工具,粘贴解密代码4. 修改倒数第三行NavicatPassword
2023-04-20

navicat怎么查看连接密码

通过以下步骤查看 navicat 中的连接密码:1. 打开 navicat 并选择连接;2. 点击编辑按钮;3. 切换到连接选项卡并查看密码字段。如何查看 Navicat 中的连接密码Navicat 是一款数据库管理工具,可用于连接到各种
navicat怎么查看连接密码
2024-04-23

navicat忘记root密码怎么查看

回答:通过修改 mysql 配置文件,您可以查看和恢复忘记的 navicat 根密码。停止 navicat mysql 服务。修改 mysql 配置文件,删除密码行前的 "#" 符号并输入 root 密码。保存并重新启动 mysql 服务。
navicat忘记root密码怎么查看
2024-04-24

navicat数据库密码怎么查看

在 navicat 中查看数据库密码的方法有四个步骤:连接到目标数据库。右键单击数据库连接,选择“属性”。切换到“连接”选项卡,找到“密码”字段。单击“显示密码”按钮查看密码明文,完成后单击“隐藏密码”按钮隐藏密码,然后单击“确定”保存更改
navicat数据库密码怎么查看
2024-04-23

windows11怎么查看wifi密码? win11查看wifi密码的技巧

很多人在设置了自己的无线WiFi密码以后,可能过一段时间就不记得了,那么其他的设备享用WiFi怎么办,恢复无线路由的出厂设置吗,太麻烦,所有已经连接的设备都要重新连接一次。我们可以通过已经连接的电脑找出你的编程WiFi密码,该怎么查看呢?下
2023-05-23

如何查看mysql密码

有四种方法可以查看 mysql 密码:1. 查看配置文件; 2. 使用 mysqldump; 3. 使用 mysql 命令行连接; 4. 重置密码。如何查看 MySQL 密码查看 MySQL 密码有以下几种方法:1. 查看配置文件打开
如何查看mysql密码
2024-06-12

navicat如何查看数据库代码

在 navicat 中查看数据库代码的方法:连接到数据库选择数据库对象右键单击数据库对象并选择“查看脚本”如何在 Navicat 中查看数据库代码Navicat 是一款功能强大的数据库管理工具,允许您轻松查看和编辑数据库代码。以下是如何在
navicat如何查看数据库代码
2024-04-23

win11如何查看wifi密码

本文小编为大家详细介绍“win11如何查看wifi密码”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11如何查看wifi密码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先右击任务栏上的“网络”。
2023-07-01

Win10如何查看WiFi密码

这篇文章主要介绍“Win10如何查看WiFi密码”,在日常操作中,相信很多人在Win10如何查看WiFi密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Win10如何查看WiFi密码”的疑惑有所帮助!接下来
2023-07-02

win10 wifi密码如何查看

本篇内容介绍了“win10 wifi密码如何查看”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10wifi密码查看方法:1、右击桌面右
2023-07-01

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录