个人网站的基本风格有哪些,其它类型的定制营销型网站,985建设网站,佛山网站制作网页当我们mysql密码忘记了#xff0c;而在navicat里有记录#xff0c;我们应该如何导出这个密码呢#xff1f; 第一步:文件菜单#xff0c;导出链接#xff0c;导出连接获取到 connections.ncx 文件 这里需要勾选 导出密码#xff01;#xff01;#xff01; 不然导出的文…当我们mysql密码忘记了而在navicat里有记录我们应该如何导出这个密码呢 第一步:文件菜单导出链接导出连接获取到 connections.ncx 文件 这里需要勾选 导出密码 不然导出的文件里不包含加密的密码 第二步找到加密密码进行破解 在导出的connections.ncx文件中找到password然后复制出来 打开这个网址代码在线运行 - 在线工具 输入PHP代码,执行
code:
?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(复制出来的密码);
echo $decode.\n;
?