Navicate如何查看密码

简介: Navicate如何查看密码

1、今天配置文件的时候,忘记了Navicate的密码,这个该怎么办呢?

这应该怎么办呢?

2、感谢大佬逆之雪的资料,真的解了燃眉之急:点击文件

3、找到我们加密文件的位置:

4、复制password有密码的这个位置

5、打开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(11);
 
//解密
//$decode = $navicatPassword->decrypt('15057D7BA390');
$decode = $navicatPassword->decrypt('在此处粘贴复制出来的密码');
echo $decode."\n";
?>

6、将之前的密码复制到这个位置

7、点击执行就出来了


相关文章
|
5月前
|
关系型数据库 MySQL 数据库
MySQL忘记root密码、远程无法连接的解决方法
MySQL忘记root密码、远程无法连接的解决方法
|
5月前
|
SQL 分布式计算 Java
DataGrip 配置 HiveServer2 远程连接访问(含账号密码验证)
该文档介绍了如何为HiveServer2配置账号密码鉴权。提供了一个名为`CustomPasswdAuthenticator`的Java类实现`PasswdAuthenticationProvider`接口,用于验证HiveServer2的用户名和密码。此外,还给出了相关依赖的Maven配置,并说明了如何将编译后的Jar包放入Hive的库中。在Hive的`hive-site.xml`和Hadoop的`core-site.xml`中需配置相应的参数以启用自定义认证。文档还列举了可能遇到的问题及解决方法,包括权限问题、数据插入错误和JVM内存溢出。
|
5月前
|
安全 Linux Shell
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
377 0
|
监控 关系型数据库 MySQL
|
安全 数据库 数据库管理
PbootCMS网站提示:“会话目录写入权限不足”的解决办法
PbootCMS网站提示:“会话目录写入权限不足”的解决办法
940 0
|
索引
解决无法mysqldump,提示索引用户为免密登录的报错
解决无法mysqldump,提示索引用户为免密登录的报错
545 0
解决无法mysqldump,提示索引用户为免密登录的报错
|
关系型数据库 MySQL 数据库
忘记数据库账号密码了怎么办?
随着年龄的增长,记性越来越差了!有一段时间没有在自己的电脑上进行数据库操作,今天突然兴趣来了想码两段代码时,突然发现忘记了自己MYSQL的用户名和密码。只好又重新更改数据库的密码。相信应该也有不少人有过同样的经历,想起之前不知道如何修改密码时也是急得手足无措,一顿baidu,所以现在将如何更改数据库密码和设置数据库免登录的方式记录如下,这里是以MySQL数据库为例。 One
1807 0
忘记数据库账号密码了怎么办?
|
数据库 数据安全/隐私保护
阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?
本文介绍阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?购买前请先:领取阿里云幸运券,有很多优惠,下文中有领取链接。 购买建议多买几年,年数越多优惠越多。
11535 0
|
数据安全/隐私保护
mysql4.5 更改密码,登录命令行闪退
登录到命令行 修改密码: 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123');   拷贝my-default.
1236 0